From 05d319406d46a8682cd9783c00546b3984310670 Mon Sep 17 00:00:00 2001 From: Kushal <43465488+kushalshit27@users.noreply.github.com> Date: Fri, 28 Nov 2025 13:03:52 +0530 Subject: [PATCH 1/7] Upgrading node-auth0 from v4 to v5 [beta] (#1207) --- .circleci/config.yml | 51 +- .eslintignore | 5 - .eslintrc | 69 - eslint.config.js | 130 + package-lock.json | 8306 ++++------------- package.json | 21 +- .../directory/handlers/clientGrants.ts | 11 +- .../directory/handlers/resourceServers.ts | 5 +- .../directory/handlers/selfServiceProfiles.ts | 1 - src/context/directory/handlers/triggers.ts | 2 +- .../handlers/userAttributeProfiles.ts | 2 +- src/context/index.ts | 2 +- src/context/yaml/handlers/clientGrants.ts | 4 +- src/context/yaml/handlers/prompts.ts | 6 +- src/context/yaml/handlers/resourceServers.ts | 5 +- .../yaml/handlers/selfServiceProfiles.ts | 1 - src/context/yaml/handlers/triggers.ts | 2 +- .../yaml/handlers/userAttributeProfiles.ts | 2 +- src/index.ts | 11 +- src/keywordPreservation.ts | 12 +- src/tools/auth0/client.ts | 134 +- src/tools/auth0/handlers/actions.ts | 68 +- src/tools/auth0/handlers/attackProtection.ts | 38 +- src/tools/auth0/handlers/branding.ts | 74 +- src/tools/auth0/handlers/clientGrants.ts | 26 +- src/tools/auth0/handlers/clients.ts | 20 +- src/tools/auth0/handlers/connections.ts | 80 +- src/tools/auth0/handlers/customDomains.ts | 12 +- src/tools/auth0/handlers/databases.ts | 43 +- src/tools/auth0/handlers/default.ts | 175 +- src/tools/auth0/handlers/emailProvider.ts | 14 +- src/tools/auth0/handlers/emailTemplates.ts | 7 +- .../auth0/handlers/flowVaultConnections.ts | 72 +- src/tools/auth0/handlers/flows.ts | 64 +- src/tools/auth0/handlers/forms.ts | 32 +- .../auth0/handlers/guardianFactorProviders.ts | 20 +- .../auth0/handlers/guardianFactorTemplates.ts | 15 +- src/tools/auth0/handlers/guardianFactors.ts | 12 +- .../guardianPhoneFactorMessageTypes.ts | 16 +- .../guardianPhoneFactorSelectedProvider.ts | 16 +- src/tools/auth0/handlers/guardianPolicies.ts | 14 +- src/tools/auth0/handlers/hooks.ts | 30 +- src/tools/auth0/handlers/logStreams.ts | 13 +- src/tools/auth0/handlers/networkACLs.ts | 33 +- src/tools/auth0/handlers/organizations.ts | 261 +- src/tools/auth0/handlers/pages.ts | 27 +- src/tools/auth0/handlers/phoneProvider.ts | 33 +- src/tools/auth0/handlers/prompts.ts | 104 +- src/tools/auth0/handlers/resourceServers.ts | 45 +- src/tools/auth0/handlers/roles.ts | 53 +- src/tools/auth0/handlers/rules.ts | 11 +- src/tools/auth0/handlers/rulesConfigs.ts | 2 +- src/tools/auth0/handlers/scimHandler.ts | 36 +- .../auth0/handlers/selfServiceProfiles.ts | 78 +- src/tools/auth0/handlers/tenant.ts | 22 +- src/tools/auth0/handlers/themes.ts | 204 +- src/tools/auth0/handlers/triggers.ts | 21 +- .../auth0/handlers/userAttributeProfiles.ts | 23 +- src/tools/auth0/index.ts | 7 + src/tools/constants.ts | 4 +- src/tools/index.ts | 12 +- src/tools/utils.ts | 6 +- src/types.ts | 24 +- src/utils.ts | 12 +- test/context/context.test.js | 17 - test/context/directory/actions.test.js | 2 +- test/context/directory/clientGrants.test.js | 8 +- test/context/directory/context.test.js | 63 +- test/context/directory/emailTemplates.test.js | 2 +- test/context/directory/hooks.test.js | 2 +- test/context/directory/pages.test.js | 2 +- test/context/directory/prompts.test.ts | 7 +- test/context/directory/rules.test.js | 2 +- test/context/directory/triggers.test.js | 2 +- test/context/yaml/clientGrants.test.js | 2 +- test/context/yaml/context.test.js | 22 +- test/context/yaml/resourceServers.test.js | 6 +- ...sources-if-AUTH0_ALLOW_DELETE-is-true.json | 5857 +++++------- ...ources-if-AUTH0_ALLOW_DELETE-is-false.json | 6325 +++++-------- ...ould-deploy-without-throwing-an-error.json | 728 +- ...-and-deploy-without-throwing-an-error.json | 1446 ++- ...should-dump-without-throwing-an-error.json | 536 +- test/tools/auth0/client.tests.js | 34 +- test/tools/auth0/handlers/actions.tests.js | 60 +- .../auth0/handlers/attackProtection.tests.js | 278 +- test/tools/auth0/handlers/branding.tests.js | 114 +- .../auth0/handlers/clientGrants.tests.js | 68 +- test/tools/auth0/handlers/clients.tests.js | 76 +- .../tools/auth0/handlers/connections.tests.js | 271 +- .../auth0/handlers/customDomains.test.ts | 44 +- test/tools/auth0/handlers/databases.tests.js | 340 +- test/tools/auth0/handlers/default.tests.ts | 5 + .../auth0/handlers/emailProvider.tests.js | 87 +- .../auth0/handlers/emailTemplates.tests.js | 44 +- .../handlers/flowVaultConnections.tests.js | 113 +- test/tools/auth0/handlers/flows.tests.js | 158 +- test/tools/auth0/handlers/forms.tests.js | 116 +- .../handlers/guardianFactorProviders.tests.js | 46 +- .../handlers/guardianFactorTemplates.tests.js | 24 +- .../auth0/handlers/guardianFactors.tests.js | 20 +- .../guardianPhoneFactorMessageTypes.tests.js | 126 +- ...ardianPhoneFactorSelectedProvider.tests.js | 128 +- .../auth0/handlers/guardianPolicies.tests.js | 28 +- test/tools/auth0/handlers/logStreams.test.ts | 83 +- test/tools/auth0/handlers/networkACLs.test.ts | 55 +- .../auth0/handlers/organizations.tests.js | 596 +- test/tools/auth0/handlers/pages.tests.js | 50 +- .../auth0/handlers/phoneProvider.test.ts | 99 +- test/tools/auth0/handlers/prompts.tests.ts | 140 +- .../auth0/handlers/resourceServers.tests.js | 144 +- test/tools/auth0/handlers/roles.tests.js | 99 +- .../tools/auth0/handlers/scimHandler.tests.js | 15 +- .../handlers/selfServiceProfiles.tests.js | 226 +- test/tools/auth0/handlers/tenant.tests.ts | 92 +- test/tools/auth0/handlers/themes.tests.js | 158 +- test/tools/auth0/handlers/triggers.tests.js | 194 +- .../handlers/userAttributeProfiles.tests.js | 26 +- test/utils.js | 225 +- tsconfig.json | 7 +- 119 files changed, 11475 insertions(+), 18604 deletions(-) delete mode 100644 .eslintignore delete mode 100644 .eslintrc create mode 100644 eslint.config.js diff --git a/.circleci/config.yml b/.circleci/config.yml index fe3505ae4..d118fb774 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -6,7 +6,7 @@ orbs: jobs: e2e_test_as_node_module: docker: - - image: cimg/node:22.4.1 + - image: cimg/node:22.12.0 working_directory: ~/repo steps: - checkout @@ -15,7 +15,7 @@ jobs: e2e_test_as_cli: docker: - - image: cimg/node:22.4.1 + - image: cimg/node:22.12.0 working_directory: ~/repo steps: - checkout @@ -66,9 +66,27 @@ jobs: name: Publish package command: npm publish + deploy_beta: + parameters: + v: + type: string + default: "lts" + docker: + - image: cimg/node:<< parameters.v >> + working_directory: ~/repo + steps: + - attach_workspace: + at: ~/repo + - run: + name: Authenticate with registry + command: echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > ~/repo/.npmrc + - run: + name: Publish beta package + command: npm publish --tag beta + does_typescript_compile: docker: - - image: cimg/node:22.4.1 + - image: cimg/node:22.12.0 working_directory: ~/repo steps: - checkout @@ -97,7 +115,7 @@ workflows: v: "lts" - unit_test: name: Unit tests with Node current - v: "22.4.1" + v: "22.12.0" test_and_deploy: jobs: @@ -118,6 +136,29 @@ workflows: branches: ignore: /.*/ tags: - only: /^v.*/ + only: /^v[0-9]+\.[0-9]+\.[0-9]+$/ + context: + - publish-npm + + test_and_deploy_beta: + jobs: + - unit_test: + name: Unit tests with Node LTS (Beta) + v: "lts" + filters: + branches: + only: beta + tags: + only: /^v[0-9]+\.[0-9]+\.[0-9]+-beta\.[0-9]+$/ + - deploy_beta: + name: Publish Beta to NPM + v: "lts" + requires: + - Unit tests with Node LTS (Beta) + filters: + branches: + ignore: /.*/ + tags: + only: /^v[0-9]+\.[0-9]+\.[0-9]+-beta\.[0-9]+$/ context: - publish-npm diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 5647f6cec..000000000 --- a/.eslintignore +++ /dev/null @@ -1,5 +0,0 @@ -examples/ -test/e2e/testdata/**/** -local/ -node_modules/ -lib/ diff --git a/.eslintrc b/.eslintrc deleted file mode 100644 index 20b5beebd..000000000 --- a/.eslintrc +++ /dev/null @@ -1,69 +0,0 @@ -{ - "parser": "@typescript-eslint/parser", - "parserOptions": { - "ecmaVersion": 2020 - }, - "extends": ["airbnb-base", "plugin:import/errors", "plugin:import/warnings", "prettier"], - "env": { - "es2020": true, - "node": true, - "mocha": true - }, - "settings": { - "import/resolver": { - "node": { - "extensions": [".js", ".ts"] - } - } - }, - "rules": { - "max-len": 0, - "react/display-name": 0, - "class-methods-use-this": 0, - "comma-dangle": 0, - "eol-last": 2, - "indent": [ - 2, - 2, - { - "SwitchCase": 1 - } - ], - "import/no-extraneous-dependencies": [ - "error", - { - "devDependencies": true - } - ], - "import/no-dynamic-require": 0, - "prefer-arrow-callback": 0, - "object-shorthand": 0, - "prefer-template": 0, - "func-names": 0, - "new-cap": 0, - "no-await-in-loop": 0, - "no-param-reassign": 0, - "no-multiple-empty-lines": 2, - "no-plusplus": [ - "error", - { - "allowForLoopAfterthoughts": true - } - ], - "no-unused-vars": 2, - "no-var": 0, - "object-curly-spacing": [2, "always"], - "quotes": [2, "single", "avoid-escape"], - "semi": [2, "always"], - "strict": 0, - "space-before-blocks": [2, "always"], - "import/extensions": [ - "error", - "ignorePackages", - { - "js": "never", - "ts": "never" - } - ] - } -} diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 000000000..9fc16359a --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,130 @@ +const js = require('@eslint/js'); +const tsParser = require('@typescript-eslint/parser'); +const tsEslint = require('@typescript-eslint/eslint-plugin'); +const importPlugin = require('eslint-plugin-import'); +const globals = require('globals'); +const eslintConfigPrettier = require('eslint-config-prettier'); + +const baseRecommended = js.configs.recommended; + +module.exports = [ + { + ignores: [ + 'coverage/**', + 'examples/**', + 'local/**', + 'node_modules/**', + 'lib/**', + 'test/e2e/testdata/**', + 'webpack/**', + ], + }, + { + ...baseRecommended, + files: ['**/*.{js,ts,cjs,mjs}'], + linterOptions: { + reportUnusedDisableDirectives: 'off', + }, + languageOptions: { + ...(baseRecommended.languageOptions ?? {}), + parser: tsParser, + parserOptions: { + ...(baseRecommended.languageOptions?.parserOptions ?? {}), + ecmaVersion: 2020, + sourceType: 'module', + }, + globals: { + ...(baseRecommended.languageOptions?.globals ?? {}), + ...globals.es2020, + ...globals.node, + ...globals.mocha, + }, + }, + plugins: { + ...(baseRecommended.plugins ?? {}), + import: importPlugin, + '@typescript-eslint': tsEslint, + }, + settings: { + 'import/resolver': { + node: { + extensions: ['.js', '.ts', '.mjs', '.cjs'], + }, + }, + }, + rules: { + ...(baseRecommended.rules ?? {}), + 'max-len': 'off', + 'class-methods-use-this': 'off', + 'comma-dangle': 'off', + 'eol-last': ['error', 'always'], + indent: [ + 'error', + 2, + { + SwitchCase: 1, + }, + ], + 'import/no-extraneous-dependencies': [ + 'error', + { + devDependencies: true, + }, + ], + 'import/no-dynamic-require': 'off', + 'prefer-arrow-callback': 'off', + 'object-shorthand': 'off', + 'prefer-template': 'off', + 'func-names': 'off', + 'new-cap': 'off', + 'no-await-in-loop': 'off', + 'no-param-reassign': 'off', + 'no-multiple-empty-lines': [ + 'error', + { + max: 1, + maxEOF: 0, + }, + ], + 'no-plusplus': 'off', + 'no-extra-boolean-cast': 'off', + 'no-useless-escape': 'off', + 'no-redeclare': 'off', + 'no-unused-vars': 'off', + '@typescript-eslint/no-unused-vars': [ + 'error', + { + argsIgnorePattern: '^_', + varsIgnorePattern: '^_', + caughtErrors: 'none', + ignoreRestSiblings: true, + }, + ], + '@typescript-eslint/no-redeclare': 'off', + '@typescript-eslint/no-explicit-any': 'off', + 'no-var': 'off', + 'object-curly-spacing': ['error', 'always'], + quotes: [ + 'error', + 'single', + { + avoidEscape: true, + }, + ], + semi: ['error', 'always'], + strict: 'off', + 'space-before-blocks': ['error', 'always'], + 'import/extensions': [ + 'error', + 'ignorePackages', + { + js: 'never', + ts: 'never', + mjs: 'never', + cjs: 'never', + }, + ], + }, + }, + eslintConfigPrettier, +]; diff --git a/package-lock.json b/package-lock.json index 15108d0d7..61d2260dd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,7 +1,7 @@ { "name": "auth0-deploy-cli", "version": "8.20.3", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -10,10 +10,10 @@ "license": "MIT", "dependencies": { "ajv": "^6.12.6", - "auth0": "^4.36.0", + "auth0": "^5.1.0", "dot-prop": "^5.3.0", "fs-extra": "^10.1.0", - "js-yaml": "^4.1.0", + "js-yaml": "^4.1.1", "lodash": "^4.17.21", "mkdirp": "^1.0.4", "nconf": "^0.13.0", @@ -27,17 +27,19 @@ "a0deploy": "lib/index.js" }, "devDependencies": { + "@eslint/js": "^9.39.1", "@types/fs-extra": "^9.0.13", "@types/lodash": "^4.17.20", "@types/mocha": "^10.0.10", "@types/nconf": "^0.10.7", - "@typescript-eslint/parser": "^5.62.0", + "@typescript-eslint/eslint-plugin": "^8.47.0", + "@typescript-eslint/parser": "^8.47.0", "chai": "^4.5.0", "chai-as-promised": "^7.1.2", - "eslint": "^7.32.0", - "eslint-config-airbnb-base": "^15.0.0", + "eslint": "^9.39.1", "eslint-config-prettier": "^10.1.8", "eslint-plugin-import": "^2.32.0", + "globals": "^15.12.0", "husky": "^9.1.7", "kacl": "^1.1.1", "mocha": "^10.8.2", @@ -51,65 +53,59 @@ "sinon": "^13.0.2", "sinon-chai": "^3.7.0", "ts-mocha": "^10.1.0", - "typescript": "^5.9.2", - "zlib": "^1.0.5" + "typescript": "^5.9.3" }, "engines": { - "node": ">=20.18.1" + "node": ">=20.19.0" } }, - "node_modules/@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", "dev": true, + "license": "MIT", "dependencies": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" }, "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.10.4" + "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.8.tgz", - "integrity": "sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz", + "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.10.tgz", - "integrity": "sha512-JQM6k6ENcBFKVtWvLavlvi/mPcpYZ3+R+2EySDEMSMbp7Mn4FexlbbJVrx2R7Ijhr01T8gyqrOaABWIOgxeUyw==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.10", - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-module-transforms": "^7.18.9", - "@babel/helpers": "^7.18.9", - "@babel/parser": "^7.18.10", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.18.10", - "@babel/types": "^7.18.10", - "convert-source-map": "^1.7.0", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", + "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helpers": "^7.28.4", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" + "json5": "^2.2.3", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -119,72 +115,55 @@ "url": "https://opencollective.com/babel" } }, - "node_modules/@babel/core/node_modules/@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "node_modules/@babel/core/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true, - "dependencies": { - "@babel/highlight": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } + "license": "MIT" }, "node_modules/@babel/core/node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz", + "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" + "@babel/parser": "^7.28.5", + "@babel/types": "^7.28.5", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz", - "integrity": "sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==", + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.18.8", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.20.2", - "semver": "^6.3.0" + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-compilation-targets/node_modules/semver": { @@ -192,97 +171,51 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz", - "integrity": "sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.18.6", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", - "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.28.3" }, "engines": { "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-string-parser": { @@ -296,9 +229,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", - "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", "dev": true, "license": "MIT", "engines": { @@ -306,380 +239,373 @@ } }, "node_modules/@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.1.tgz", - "integrity": "sha512-FCvFTm0sWV8Fxhpp2McP5/W53GPllQ9QeQ7SiqGWjMf/LVG07lFa5+pgK05IRhVwtvafT22KF+ZSnM9I545CvQ==", + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", + "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.27.1", - "@babel/types": "^7.27.1" + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.4" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "node_modules/@babel/parser": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", + "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "@babel/types": "^7.28.5" + }, + "bin": { + "parser": "bin/babel-parser.js" }, "engines": { - "node": ">=6.9.0" + "node": ">=6.0.0" } }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", "dev": true, + "license": "MIT", "dependencies": { - "color-convert": "^1.9.0" + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" }, "engines": { - "node": ">=4" + "node": ">=6.9.0" } }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/@babel/traverse": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz", + "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.5", + "debug": "^4.3.1" }, "engines": { - "node": ">=4" + "node": ">=6.9.0" } }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "node_modules/@babel/types": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", + "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", "dev": true, + "license": "MIT", "dependencies": { - "color-name": "1.1.3" + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, + "node_modules/@colors/colors": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", + "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", + "license": "MIT", "engines": { - "node": ">=0.8.0" + "node": ">=0.1.90" } }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" + "node_modules/@dabh/diagnostics": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.8.tgz", + "integrity": "sha512-R4MSXTVnuMzGD7bzHdW2ZhhdPC/igELENcq5IjEverBvq5hn1SXCWcsi6eSsdWP0/Ur+SItRRjAktmdoX/8R/Q==", + "license": "MIT", + "dependencies": { + "@so-ric/colorspace": "^1.1.6", + "enabled": "2.0.x", + "kuler": "^2.0.0" } }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", + "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^3.0.0" + "eslint-visitor-keys": "^3.4.3" }, "engines": { - "node": ">=4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/@babel/parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.1.tgz", - "integrity": "sha512-I0dZ3ZpCrJ1c04OqlNsQcKiZlsrXf/kkE4FXzID9rIOYICsAbA8mMDzhW/luRNAHdCNt7os/u8wenklZDlUVUQ==", + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", "dev": true, "license": "MIT", - "dependencies": { - "@babel/types": "^7.27.1" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, "engines": { - "node": ">=6.0.0" + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/@babel/template": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.1.tgz", - "integrity": "sha512-Fyo3ghWMqkHHpHQCoBs2VnYjR4iWFFjguTDEqA5WgZDOrFesVjMhMM2FSqTKSoUSDO1VQtavj8NFpdRBEvJTtg==", + "node_modules/@eslint/config-array": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", + "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.1", - "@babel/types": "^7.27.1" + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.2" }, "engines": { - "node": ">=6.9.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@babel/template/node_modules/@babel/code-frame": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", - "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "node_modules/@eslint/config-array/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.27.1", - "js-tokens": "^4.0.0", - "picocolors": "^1.1.1" - }, - "engines": { - "node": ">=6.9.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", - "globals": "^11.1.0" + "node_modules/@eslint/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=6.9.0" + "node": "*" } }, - "node_modules/@babel/traverse/node_modules/@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "node_modules/@eslint/config-helpers": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" + "@eslint/core": "^0.17.0" }, "engines": { - "node": ">=6.9.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@babel/traverse/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/@eslint/core": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "color-convert": "^1.9.0" + "@types/json-schema": "^7.0.15" }, "engines": { - "node": ">=4" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@babel/traverse/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/@eslint/eslintrc": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", + "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" }, "engines": { - "node": ">=4" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@babel/traverse/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, + "license": "MIT", "dependencies": { - "color-name": "1.1.3" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/@babel/traverse/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/traverse/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", "dev": true, + "license": "MIT", "engines": { - "node": ">=0.8.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "node_modules/@eslint/eslintrc/node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, + "license": "MIT", "engines": { - "node": ">=4" + "node": ">= 4" } }, - "node_modules/@babel/traverse/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, "engines": { - "node": ">=4" + "node": "*" } }, - "node_modules/@babel/traverse/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/@eslint/js": { + "version": "9.39.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.1.tgz", + "integrity": "sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==", "dev": true, - "dependencies": { - "has-flag": "^3.0.0" + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "dev": true, + "license": "Apache-2.0", "engines": { - "node": ">=4" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@babel/types": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.1.tgz", - "integrity": "sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==", + "node_modules/@eslint/plugin-kit": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1" + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" }, "engines": { - "node": ">=6.9.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@colors/colors": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", - "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", - "license": "MIT", + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", "engines": { - "node": ">=0.1.90" + "node": ">=18.18.0" } }, - "node_modules/@dabh/diagnostics": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.8.tgz", - "integrity": "sha512-R4MSXTVnuMzGD7bzHdW2ZhhdPC/igELENcq5IjEverBvq5hn1SXCWcsi6eSsdWP0/Ur+SItRRjAktmdoX/8R/Q==", - "license": "MIT", - "dependencies": { - "@so-ric/colorspace": "^1.1.6", - "enabled": "2.0.x", - "kuler": "^2.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "node_modules/@humanfs/node": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", + "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/@eslint/eslintrc/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" + "node": ">=18.18.0" } }, - "node_modules/@eslint/eslintrc/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@eslint/eslintrc/node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - }, + "license": "Apache-2.0", "engines": { - "node": ">=10.10.0" + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, + "license": "ISC", "dependencies": { "camelcase": "^5.3.1", "find-up": "^4.1.0", @@ -696,6 +622,7 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, + "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } @@ -705,6 +632,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -714,10 +642,11 @@ } }, "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -731,6 +660,7 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -743,6 +673,7 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -758,6 +689,7 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -765,90 +697,71 @@ "node": ">=8" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", "dev": true, + "license": "MIT", "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - }, - "engines": { - "node": ">=6.0.0" + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", "dev": true, - "engines": { - "node": ">=6.0.0" + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -859,6 +772,7 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -872,6 +786,7 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } @@ -881,6 +796,7 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -893,31 +809,45 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@sinonjs/commons": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", - "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "type-detect": "4.0.8" } }, + "node_modules/@sinonjs/commons/node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/@sinonjs/fake-timers": { "version": "9.1.2", "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^1.7.0" } }, "node_modules/@sinonjs/samsam": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-6.1.1.tgz", - "integrity": "sha512-cZ7rKJTLiE7u7Wi/v9Hc2fs3Ucc3jrWeMgPHbbTCeVAB2S0wOBbYlkJVeNSL04i7fdhT8wIbDq1zhC/PXTD2SA==", + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-6.1.3.tgz", + "integrity": "sha512-nhOb2dWPeb1sd3IQXL/dVPnKHDOAFfvichtBf4xV00/rU1QbPCQqKMbvIheIjqwVjh7qIgf2AHTHi391yMOMpQ==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^1.6.0", "lodash.get": "^4.4.2", @@ -925,10 +855,11 @@ } }, "node_modules/@sinonjs/text-encoding": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz", - "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==", - "dev": true + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.3.tgz", + "integrity": "sha512-DE427ROAphMQzU4ENbliGYrBSYPXF+TtLg9S8vzeA+OF4ZKzoDdzfL8sxuMUGS/lgRhM6j1URSk9ghf7Xo1tyA==", + "dev": true, + "license": "(Unlicense OR Apache-2.0)" }, "node_modules/@so-ric/colorspace": { "version": "1.1.6", @@ -940,20 +871,36 @@ "text-hex": "1.0.x" } }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/fs-extra": { "version": "9.0.13", "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz", "integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/lodash": { "version": "4.17.20", @@ -973,13 +920,18 @@ "version": "0.10.7", "resolved": "https://registry.npmjs.org/@types/nconf/-/nconf-0.10.7.tgz", "integrity": "sha512-ltJgbQX0XgjkeDrz0anTCXLBLatppWYFCxp88ILEwybfAuyNWr0Qb+ceFFqZ0VDR8fguEjr0hH37ZF+AF4gsxw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/node": { - "version": "18.7.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.2.tgz", - "integrity": "sha512-ce7MIiaYWCFv6A83oEultwhBXb22fxwNOQf5DIxWA4WXvDQ7K+L0fbWl/YOfCzlR5B/uFkSnVBhPcOfOECcWvA==", - "dev": true + "version": "24.10.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz", + "integrity": "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.16.0" + } }, "node_modules/@types/triple-beam": { "version": "1.3.5", @@ -987,57 +939,151 @@ "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==", "license": "MIT" }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.47.0.tgz", + "integrity": "sha512-fe0rz9WJQ5t2iaLfdbDc9T80GJy0AeO453q8C3YCilnGozvOyCG5t+EZtg7j7D88+c3FipfP/x+wzGnh1xp8ZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.47.0", + "@typescript-eslint/type-utils": "8.47.0", + "@typescript-eslint/utils": "8.47.0", + "@typescript-eslint/visitor-keys": "8.47.0", + "graphemer": "^1.4.0", + "ignore": "^7.0.0", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.47.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, "node_modules/@typescript-eslint/parser": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.47.0.tgz", + "integrity": "sha512-lJi3PfxVmo0AkEY93ecfN+r8SofEqZNGByvHAI3GBLrvt1Cw6H5k1IM02nSzu0RfUafr2EvFSw0wAsZgubNplQ==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/scope-manager": "8.47.0", + "@typescript-eslint/types": "8.47.0", + "@typescript-eslint/typescript-estree": "8.47.0", + "@typescript-eslint/visitor-keys": "8.47.0", "debug": "^4.3.4" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.47.0.tgz", + "integrity": "sha512-2X4BX8hUeB5JcA1TQJ7GjcgulXQ+5UkNb0DL8gHsHUHdFoiCTJoYLTpib3LtSDPZsRET5ygN4qqIWrHyYIKERA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.47.0", + "@typescript-eslint/types": "^8.47.0", + "debug": "^4.3.4" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.47.0.tgz", + "integrity": "sha512-a0TTJk4HXMkfpFkL9/WaGTNuv7JWfFTQFJd6zS9dVAjKsojmv9HT55xzbEpnZoY+VUb+YXLMp+ihMLz/UlZfDg==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" + "@typescript-eslint/types": "8.47.0", + "@typescript-eslint/visitor-keys": "8.47.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.47.0.tgz", + "integrity": "sha512-ybUAvjy4ZCL11uryalkKxuT3w3sXJAuWhOoGS3T/Wu+iUu1tGJmk5ytSY8gbdACNARmcYEB0COksD2j6hfGK2g==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.47.0.tgz", + "integrity": "sha512-QC9RiCmZ2HmIdCEvhd1aJELBlD93ErziOXXlHEZyuBo3tBiAZieya0HLIxp+DoDWlsQqDawyKuNEhORyku+P8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.47.0", + "@typescript-eslint/typescript-estree": "8.47.0", + "@typescript-eslint/utils": "8.47.0", + "debug": "^4.3.4", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.47.0.tgz", + "integrity": "sha512-nHAE6bMKsizhA2uuYZbEbmp5z2UpffNrPEqiKIeN7VsV6UY/roxanWfoRrf6x/k9+Obf+GQdkm0nPU+vnMXo9A==", "dev": true, + "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", @@ -1045,54 +1091,95 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.47.0.tgz", + "integrity": "sha512-k6ti9UepJf5NpzCjH31hQNLHQWupTRPhZ+KFF8WtTuTpy7uHPfeg2NM7cP27aCGajoEplxJDFVCEm9TGPYyiVg==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", + "@typescript-eslint/project-service": "8.47.0", + "@typescript-eslint/tsconfig-utils": "8.47.0", + "@typescript-eslint/types": "8.47.0", + "@typescript-eslint/visitor-keys": "8.47.0", "debug": "^4.3.4", - "globby": "^11.1.0", + "fast-glob": "^3.3.2", "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^2.1.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.47.0.tgz", + "integrity": "sha512-g7XrNf25iL4TJOiPqatNuaChyqt49a/onq5YsJ9+hXeugK+41LVg7AxikMfM02PC6jbNtZLCJj6AUcQXJS/jGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.7.0", + "@typescript-eslint/scope-manager": "8.47.0", + "@typescript-eslint/types": "8.47.0", + "@typescript-eslint/typescript-estree": "8.47.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.47.0.tgz", + "integrity": "sha512-SIV3/6eftCy1bNzCQoPmbWsRLujS8t5iDIZ4spZOBHqrM+yfX2ogg8Tt3PDTAVKw3sSCiUgg30uOAvK2r9zGjQ==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" + "@typescript-eslint/types": "8.47.0", + "eslint-visitor-keys": "^4.2.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, "node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -1105,6 +1192,7 @@ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, + "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } @@ -1114,6 +1202,7 @@ "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", "dev": true, + "license": "MIT", "dependencies": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" @@ -1126,6 +1215,7 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -1142,6 +1232,7 @@ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -1150,6 +1241,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", "engines": { "node": ">=8" } @@ -1158,6 +1250,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -1169,10 +1262,11 @@ } }, "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, + "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -1186,6 +1280,7 @@ "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", "dev": true, + "license": "MIT", "dependencies": { "default-require-extensions": "^3.0.0" }, @@ -1197,12 +1292,14 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" }, "node_modules/array-buffer-byte-length": { "version": "1.0.2", @@ -1244,15 +1341,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/array.prototype.findlastindex": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", @@ -1335,28 +1423,31 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/assertion-error": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", "dev": true, + "license": "MIT", "engines": { "node": "*" } }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "license": "MIT" }, "node_modules/async-function": { "version": "1.0.0", @@ -1369,6 +1460,21 @@ } }, "node_modules/auth0": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/auth0/-/auth0-5.1.0.tgz", + "integrity": "sha512-khNFOffqekb7Anypp0DHRPjQDxdwc1TDLxIdSzB2Sh+gy9c88euzy2MdNcAhpdkE85E/oQgj2bNftj0OE1SX5Q==", + "license": "MIT", + "dependencies": { + "auth0-legacy": "npm:auth0@^4.27.0", + "jose": "^4.13.2", + "uuid": "^11.1.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || ^24.0.0" + } + }, + "node_modules/auth0-legacy": { + "name": "auth0", "version": "4.36.0", "resolved": "https://registry.npmjs.org/auth0/-/auth0-4.36.0.tgz", "integrity": "sha512-n/eqshTNXY9HY+KaHbxLNHr5iOqg4PztMczNQXOIrHcyUsi6zB6uQphP25tbKiy7+A1pwgX/ZkAOnTzFUoBroA==", @@ -1382,7 +1488,13 @@ "node": ">=18" } }, - "node_modules/auth0/node_modules/uuid": { + "node_modules/auth0-legacy/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "license": "MIT" + }, + "node_modules/auth0-legacy/node_modules/uuid": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", @@ -1390,6 +1502,7 @@ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan" ], + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } @@ -1414,26 +1527,40 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.29.tgz", + "integrity": "sha512-sXdt2elaVnhpDNRDz+1BDx1JQoJRuNk7oVlAlbGiFkLikHCAQiccexF/9e91zVi6RCgqspl04aP+6Cnl9zRLrA==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } }, "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "balanced-match": "^1.0.0" } }, "node_modules/braces": { @@ -1441,6 +1568,7 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, + "license": "MIT", "dependencies": { "fill-range": "^7.1.1" }, @@ -1452,12 +1580,13 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/browserslist": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", - "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", + "version": "4.28.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.0.tgz", + "integrity": "sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ==", "dev": true, "funding": [ { @@ -1467,13 +1596,19 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001370", - "electron-to-chromium": "^1.4.202", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.5" + "baseline-browser-mapping": "^2.8.25", + "caniuse-lite": "^1.0.30001754", + "electron-to-chromium": "^1.5.249", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.1.4" }, "bin": { "browserslist": "cli.js" @@ -1486,13 +1621,15 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/caching-transform": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", "dev": true, + "license": "MIT", "dependencies": { "hasha": "^5.0.0", "make-dir": "^3.0.0", @@ -1558,6 +1695,7 @@ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -1566,14 +1704,15 @@ "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/caniuse-lite": { - "version": "1.0.30001375", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001375.tgz", - "integrity": "sha512-kWIMkNzLYxSvnjy0hL8w1NOaWNr2rn39RTAVyIwcw8juu60bZDWiF1/loOYANzjtJmy6qPgNmn38ro5Pygagdw==", + "version": "1.0.30001755", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001755.tgz", + "integrity": "sha512-44V+Jm6ctPj7R52Na4TLi3Zri4dWUljJd+RDm+j8LtNCc/ihLCT+X1TzoOAkRETEWqjuLnh9581Tl80FvK7jVA==", "dev": true, "funding": [ { @@ -1583,14 +1722,20 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/chai": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz", "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==", "dev": true, + "license": "MIT", "dependencies": { "assertion-error": "^1.1.0", "check-error": "^1.0.3", @@ -1617,20 +1762,12 @@ "chai": ">= 2.1.2 < 6" } }, - "node_modules/chai/node_modules/type-detect": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", - "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -1647,6 +1784,7 @@ "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", "dev": true, + "license": "MIT", "dependencies": { "get-func-name": "^2.0.2" }, @@ -1655,16 +1793,11 @@ } }, "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], + "license": "MIT", "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -1677,15 +1810,32 @@ "engines": { "node": ">= 8.10.0" }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, "optionalDependencies": { "fsevents": "~2.3.2" } }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -1694,6 +1844,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -1701,13 +1852,13 @@ } }, "node_modules/color": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/color/-/color-5.0.2.tgz", - "integrity": "sha512-e2hz5BzbUPcYlIRHo8ieAhYgoajrJr+hWoceg6E345TPsATMUKqDgzt8fSXZJJbxfpiPzkWyphz8yn8At7q3fA==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/color/-/color-5.0.3.tgz", + "integrity": "sha512-ezmVcLR3xAVp8kYOm4GS45ZLLgIE6SPAFoduLr6hTDajwb3KZ2F46gulK3XpcwRFb5KKGCSezCBAY4Dw4HsyXA==", "license": "MIT", "dependencies": { - "color-convert": "^3.0.1", - "color-string": "^2.0.0" + "color-convert": "^3.1.3", + "color-string": "^2.1.3" }, "engines": { "node": ">=18" @@ -1717,6 +1868,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -1727,12 +1879,13 @@ "node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "node_modules/color-string": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-2.1.2.tgz", - "integrity": "sha512-RxmjYxbWemV9gKu4zPgiZagUxbH3RQpEIO77XoSSX0ivgABDZ+h8Zuash/EMFLTI4N9QgFPOJ6JQpPZKFxa+dA==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-2.1.4.tgz", + "integrity": "sha512-Bb6Cq8oq0IjDOe8wJmi4JeNn763Xs9cfrBcaylK1tPypWzyoy2G3l90v9k64kjphl/ZJjPIShFztenRomi8WTg==", "license": "MIT", "dependencies": { "color-name": "^2.0.0" @@ -1742,18 +1895,18 @@ } }, "node_modules/color-string/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", "license": "MIT", "engines": { "node": ">=12.20" } }, "node_modules/color/node_modules/color-convert": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.2.tgz", - "integrity": "sha512-UNqkvCDXstVck3kdowtOTWROIJQwafjOfXSmddoDrXo4cewMKmusCeF22Q24zvjR8nwWib/3S/dfyzPItPEiJg==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.3.tgz", + "integrity": "sha512-fasDH2ont2GqF5HpyO4w0+BcewlhHEZOFn9c1ckZdHpJ56Qb7MHhH/IcJZbBGgvdtwdwNbLvxiBEdg336iA9Sg==", "license": "MIT", "dependencies": { "color-name": "^2.0.0" @@ -1763,9 +1916,9 @@ } }, "node_modules/color/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", "license": "MIT", "engines": { "node": ">=12.20" @@ -1775,34 +1928,22 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/confusing-browser-globals": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", - "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", "dev": true, - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/convert-source-map/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "license": "MIT" }, "node_modules/cross-spawn": { "version": "7.0.6", @@ -1874,10 +2015,11 @@ } }, "node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "^2.1.3" }, @@ -1894,6 +2036,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -1903,6 +2046,7 @@ "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz", "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==", "dev": true, + "license": "MIT", "dependencies": { "type-detect": "^4.0.0" }, @@ -1914,18 +2058,23 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/default-require-extensions": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", - "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.1.tgz", + "integrity": "sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==", "dev": true, + "license": "MIT", "dependencies": { "strip-bom": "^4.0.0" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/define-data-property": { @@ -1933,6 +2082,7 @@ "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dev": true, + "license": "MIT", "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", @@ -1950,6 +2100,7 @@ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dev": true, + "license": "MIT", "dependencies": { "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", @@ -1967,38 +2118,29 @@ "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, "engines": { - "node": ">=6.0.0" + "node": ">=0.10.0" } }, "node_modules/dot-prop": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "license": "MIT", "dependencies": { "is-obj": "^2.0.0" }, @@ -2022,15 +2164,17 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.215", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.215.tgz", - "integrity": "sha512-vqZxT8C5mlDZ//hQFhneHmOLnj1LhbzxV0+I1yqHV8SB1Oo4Y5Ne9+qQhwHl7O1s9s9cRuo2l5CoLEHdhMTwZg==", - "dev": true + "version": "1.5.255", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.255.tgz", + "integrity": "sha512-Z9oIp4HrFF/cZkDPMpz2XSuVpc1THDpT4dlmATFlJUIBVCy9Vap5/rIXsASP1CscBacBqhabwh8vLctqBwEerQ==", + "dev": true, + "license": "ISC" }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" }, "node_modules/enabled": { "version": "2.0.0", @@ -2039,26 +2183,15 @@ "license": "MIT" }, "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", "dev": true, + "license": "MIT", "dependencies": { "once": "^1.4.0" } }, - "node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, "node_modules/es-abstract": { "version": "1.24.0", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz", @@ -2143,6 +2276,7 @@ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" } @@ -2211,12 +2345,14 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", "engines": { "node": ">=6" } @@ -2226,6 +2362,7 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -2234,90 +2371,63 @@ } }, "node_modules/eslint": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "version": "9.39.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.1.tgz", + "integrity": "sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", - "ajv": "^6.10.0", + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.1", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.39.1", + "@eslint/plugin-kit": "^0.4.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.12.4", "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" + "optionator": "^0.9.3" }, "bin": { "eslint": "bin/eslint.js" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-airbnb-base": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz", - "integrity": "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==", - "dev": true, - "license": "MIT", - "dependencies": { - "confusing-browser-globals": "^1.0.10", - "object.assign": "^4.1.2", - "object.entries": "^1.1.5", - "semver": "^6.3.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" + "url": "https://eslint.org/donate" }, "peerDependencies": { - "eslint": "^7.32.0 || ^8.2.0", - "eslint-plugin-import": "^2.25.2" - } - }, - "node_modules/eslint-config-airbnb-base/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } } }, "node_modules/eslint-config-prettier": { @@ -2341,6 +2451,7 @@ "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", "dev": true, + "license": "MIT", "dependencies": { "debug": "^3.2.7", "is-core-module": "^2.13.0", @@ -2352,6 +2463,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, + "license": "MIT", "dependencies": { "ms": "^2.1.1" } @@ -2418,25 +2530,38 @@ "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" } }, + "node_modules/eslint-plugin-import/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "node_modules/eslint-plugin-import/node_modules/debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, + "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "node_modules/eslint-plugin-import/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, + "license": "ISC", "dependencies": { - "esutils": "^2.0.2" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=0.10.0" + "node": "*" } }, "node_modules/eslint-plugin-import/node_modules/semver": { @@ -2444,117 +2569,117 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "estraverse": "^5.2.0" }, "engines": { - "node": ">=8.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, + "license": "Apache-2.0", "engines": { - "node": ">=6" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/mysticatea" + "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, - "engines": { - "node": ">=4" + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", - "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", "dev": true, + "license": "Apache-2.0", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/eslint/node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" + "license": "MIT", + "engines": { + "node": ">= 4" } }, - "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, "engines": { - "node": ">=10" + "node": "*" } }, - "node_modules/eslint/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "node_modules/espree": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/eslint/node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "node_modules/espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "dev": true, - "dependencies": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", "dev": true, + "license": "Apache-2.0", "engines": { - "node": ">=4" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/esprima": { @@ -2562,6 +2687,7 @@ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, + "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -2571,10 +2697,11 @@ } }, "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -2582,20 +2709,12 @@ "node": ">=0.10" } }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -2603,20 +2722,12 @@ "node": ">=4.0" } }, - "node_modules/esrecurse/node_modules/estraverse": { + "node_modules/estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -2626,6 +2737,7 @@ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } @@ -2635,6 +2747,7 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", "dev": true, + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.0", "get-stream": "^5.0.0", @@ -2656,40 +2769,58 @@ "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" }, "node_modules/fast-glob": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz", - "integrity": "sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "micromatch": "^4.0.8" }, "engines": { "node": ">=8.6.0" } }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "license": "MIT" }, "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", "dev": true, + "license": "ISC", "dependencies": { "reusify": "^1.0.4" } @@ -2701,15 +2832,16 @@ "license": "MIT" }, "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", "dev": true, + "license": "MIT", "dependencies": { - "flat-cache": "^3.0.4" + "flat-cache": "^4.0.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=16.0.0" } }, "node_modules/fill-range": { @@ -2717,6 +2849,7 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, + "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -2729,6 +2862,7 @@ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dev": true, + "license": "MIT", "dependencies": { "commondir": "^1.0.1", "make-dir": "^3.0.2", @@ -2741,38 +2875,59 @@ "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/flat": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", "dev": true, + "license": "BSD-3-Clause", "bin": { "flat": "cli.js" } }, "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, + "license": "MIT", "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" + "flatted": "^3.2.9", + "keyv": "^4.5.4" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=16" } }, "node_modules/flatted": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.6.tgz", - "integrity": "sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==", - "dev": true + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true, + "license": "ISC" }, "node_modules/fn.name": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", - "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==" + "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==", + "license": "MIT" }, "node_modules/for-each": { "version": "0.3.5", @@ -2795,6 +2950,7 @@ "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", "dev": true, + "license": "ISC", "dependencies": { "cross-spawn": "^7.0.0", "signal-exit": "^3.0.2" @@ -2821,12 +2977,14 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/fs-extra": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -2840,14 +2998,16 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, "hasInstallScript": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -2861,6 +3021,7 @@ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -2886,12 +3047,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true - }, "node_modules/functions-have-names": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", @@ -2902,11 +3057,22 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/generator-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", + "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -2915,6 +3081,7 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" } @@ -2924,6 +3091,7 @@ "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "dev": true, + "license": "MIT", "engines": { "node": "*" } @@ -2958,6 +3126,7 @@ "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8.0.0" } @@ -2981,6 +3150,7 @@ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dev": true, + "license": "MIT", "dependencies": { "pump": "^3.0.0" }, @@ -3010,47 +3180,60 @@ } }, "node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "minimatch": "^5.0.1", + "once": "^1.3.0" }, "engines": { - "node": "*" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, + "license": "ISC", "dependencies": { - "is-glob": "^4.0.1" + "is-glob": "^4.0.3" }, "engines": { - "node": ">= 6" + "node": ">=10.13.0" } }, - "node_modules/globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", + "node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, + "license": "ISC", "dependencies": { - "type-fest": "^0.20.2" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=8" + "node": ">=10" + } + }, + "node_modules/globals": { + "version": "15.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz", + "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -3073,35 +3256,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby/node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, "node_modules/gopd": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", @@ -3116,9 +3270,17 @@ } }, "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "license": "MIT" }, "node_modules/has-bigints": { "version": "1.1.0", @@ -3138,6 +3300,7 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -3147,6 +3310,7 @@ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dev": true, + "license": "MIT", "dependencies": { "es-define-property": "^1.0.0" }, @@ -3204,6 +3368,7 @@ "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", "dev": true, + "license": "MIT", "dependencies": { "is-stream": "^2.0.0", "type-fest": "^0.8.0" @@ -3215,20 +3380,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/hasha/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/hasown": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, + "license": "MIT", "dependencies": { "function-bind": "^1.1.2" }, @@ -3241,6 +3398,7 @@ "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true, + "license": "MIT", "bin": { "he": "bin/he" } @@ -3249,13 +3407,15 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/human-signals": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=8.12.0" } @@ -3277,19 +3437,21 @@ } }, "node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", "dev": true, + "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -3306,6 +3468,7 @@ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.19" } @@ -3315,6 +3478,7 @@ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -3323,7 +3487,9 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dev": true, + "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -3332,12 +3498,14 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" }, "node_modules/ini": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "license": "ISC", "engines": { "node": ">=10" } @@ -3416,6 +3584,7 @@ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, + "license": "MIT", "dependencies": { "binary-extensions": "^2.0.0" }, @@ -3509,6 +3678,7 @@ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -3533,19 +3703,21 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/is-generator-function": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", - "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", + "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3", - "get-proto": "^1.0.0", + "call-bound": "^1.0.4", + "generator-function": "^2.0.0", + "get-proto": "^1.0.1", "has-tostringtag": "^1.0.2", "safe-regex-test": "^1.1.0" }, @@ -3561,6 +3733,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, + "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -3586,6 +3759,7 @@ "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -3598,6 +3772,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.12.0" } @@ -3623,6 +3798,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "license": "MIT", "engines": { "node": ">=8" } @@ -3632,6 +3808,7 @@ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -3688,6 +3865,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", "engines": { "node": ">=8" }, @@ -3750,13 +3928,15 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/is-unicode-supported": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -3815,27 +3995,31 @@ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "dev": true + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=8" } @@ -3845,6 +4029,7 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "append-transform": "^2.0.0" }, @@ -3857,6 +4042,7 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@babel/core": "^7.7.5", "@istanbuljs/schema": "^0.1.2", @@ -3872,6 +4058,7 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -3881,6 +4068,7 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz", "integrity": "sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==", "dev": true, + "license": "ISC", "dependencies": { "archy": "^1.0.0", "cross-spawn": "^7.0.3", @@ -3893,18 +4081,45 @@ "node": ">=8" } }, + "node_modules/istanbul-lib-processinfo/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", + "make-dir": "^4.0.0", "supports-color": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/istanbul-lib-source-maps": { @@ -3912,6 +4127,7 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", @@ -3926,6 +4142,7 @@ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz", "integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" @@ -3938,6 +4155,7 @@ "version": "4.15.9", "resolved": "https://registry.npmjs.org/jose/-/jose-4.15.9.tgz", "integrity": "sha512-1vUQX+IdDMVPj4k8kOxgUqlcK518yluMuGZwqlr44FS1ppZB/5GWh4rZG89erpOBOJjU/OBsnCVFfapsRz6nEA==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/panva" } @@ -3946,12 +4164,14 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -3960,39 +4180,51 @@ } }, "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", "dev": true, + "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, "engines": { - "node": ">=4" + "node": ">=6" } }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, + "license": "MIT", "bin": { "json5": "lib/cli.js" }, @@ -4001,9 +4233,10 @@ } }, "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "license": "MIT", "dependencies": { "universalify": "^2.0.0" }, @@ -4012,16 +4245,18 @@ } }, "node_modules/just-extend": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", - "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==", - "dev": true + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-6.2.0.tgz", + "integrity": "sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==", + "dev": true, + "license": "MIT" }, "node_modules/kacl": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/kacl/-/kacl-1.1.1.tgz", "integrity": "sha512-qA2xJP0A+BZpNPnfSNJfJvBT7WWkK614gxlhOfodSR+hbOEEnBzfx8h7Zt2HauV79JOSKCMjdqt4SbDUJ2vtWQ==", "dev": true, + "license": "MIT", "bin": { "kacl": "bin/kacl" }, @@ -4029,6 +4264,16 @@ "node": ">=10.16.0" } }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, "node_modules/kuler": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", @@ -4040,6 +4285,7 @@ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -4048,40 +4294,56 @@ "node": ">= 0.8.0" } }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" }, "node_modules/lodash.flattendeep": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.get": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", - "dev": true + "deprecated": "This package is deprecated. Use the optional chaining (?.) operator instead.", + "dev": true, + "license": "MIT" }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" @@ -4115,15 +4377,27 @@ "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", "dev": true, + "license": "MIT", "dependencies": { "get-func-name": "^2.0.1" } }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, "node_modules/make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, + "license": "MIT", "dependencies": { "semver": "^6.0.0" }, @@ -4135,10 +4409,11 @@ } }, "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -4147,7 +4422,8 @@ "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/math-intrinsics": { "version": "1.1.0", @@ -4163,13 +4439,15 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } @@ -4179,6 +4457,7 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, + "license": "MIT", "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" @@ -4192,27 +4471,36 @@ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, + "license": "ISC", "dependencies": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "*" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/mkdirp": { "version": "1.0.4", @@ -4262,83 +4550,24 @@ "node": ">= 14.0.0" } }, - "node_modules/mocha/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, "node_modules/mocha/node_modules/cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, + "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^7.0.0" } }, - "node_modules/mocha/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mocha/node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/mocha/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/mocha/node_modules/minimatch": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -4346,50 +4575,12 @@ "node": ">=10" } }, - "node_modules/mocha/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mocha/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mocha/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/mocha/node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -4405,6 +4596,7 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -4422,6 +4614,7 @@ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, + "license": "ISC", "engines": { "node": ">=10" } @@ -4431,6 +4624,7 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, + "license": "MIT", "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -4449,6 +4643,7 @@ "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -4456,13 +4651,15 @@ "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/nconf": { "version": "0.13.0", @@ -4483,6 +4680,7 @@ "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -4493,6 +4691,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -4509,6 +4708,7 @@ "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", "engines": { "node": ">=10" } @@ -4517,6 +4717,7 @@ "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "license": "MIT", "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -4533,19 +4734,51 @@ "node_modules/next-tick": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", - "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", + "license": "ISC" }, "node_modules/nise": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.1.tgz", - "integrity": "sha512-yr5kW2THW1AkxVmCnKEh4nbYkJdB3I7LUkiUgOvEkOp414mc2UMaHMA7pjq1nYowhdoJZGwEKGaQVbxfpWj10A==", + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.9.tgz", + "integrity": "sha512-qOnoujW4SV6e40dYxJOb3uvuoPHtmLzIk4TFo+j0jPJoC+5Z9xja5qH5JZobEPsa8+YYphMrOSwnrshEhG2qww==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "@sinonjs/commons": "^1.8.3", - "@sinonjs/fake-timers": ">=5", - "@sinonjs/text-encoding": "^0.7.1", - "just-extend": "^4.0.2", - "path-to-regexp": "^1.7.0" + "@sinonjs/commons": "^3.0.0", + "@sinonjs/fake-timers": "^11.2.2", + "@sinonjs/text-encoding": "^0.7.2", + "just-extend": "^6.2.0", + "path-to-regexp": "^6.2.1" + } + }, + "node_modules/nise/node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/nise/node_modules/@sinonjs/fake-timers": { + "version": "11.3.1", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.3.1.tgz", + "integrity": "sha512-EVJO7nW5M/F5Tur0Rf2z/QoMo+1Ia963RiMtapiQrEWvY0iBUvADo8Beegwjpnle5BHkyHuoxSTW3jF43H1XRA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^3.0.1" + } + }, + "node_modules/nise/node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" } }, "node_modules/nock": { @@ -4568,6 +4801,7 @@ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dev": true, + "license": "MIT", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -4588,6 +4822,7 @@ "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", "dev": true, + "license": "MIT", "dependencies": { "process-on-spawn": "^1.0.0" }, @@ -4596,16 +4831,18 @@ } }, "node_modules/node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", - "dev": true + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "dev": true, + "license": "MIT" }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -4615,6 +4852,7 @@ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.0.0" }, @@ -4627,6 +4865,7 @@ "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", "dev": true, + "license": "ISC", "dependencies": { "@istanbuljs/load-nyc-config": "^1.0.0", "@istanbuljs/schema": "^0.1.2", @@ -4663,11 +4902,23 @@ "node": ">=8.9" } }, + "node_modules/nyc/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "node_modules/nyc/node_modules/find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -4676,11 +4927,34 @@ "node": ">=8" } }, + "node_modules/nyc/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/nyc/node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -4688,11 +4962,25 @@ "node": ">=8" } }, - "node_modules/nyc/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, + "node_modules/nyc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/nyc/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -4708,6 +4996,7 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -4715,29 +5004,12 @@ "node": ">=8" } }, - "node_modules/nyc/node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/nyc/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/nyc/node_modules/resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -4760,6 +5032,7 @@ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" } @@ -4785,25 +5058,12 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object.entries": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz", - "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/object.fromentries": { "version": "2.0.8", "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -4822,6 +5082,7 @@ "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -4855,6 +5116,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, + "license": "ISC", "dependencies": { "wrappy": "1" } @@ -4863,6 +5125,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", + "license": "MIT", "dependencies": { "fn.name": "1.x.x" } @@ -4872,6 +5135,7 @@ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, + "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" }, @@ -4883,17 +5147,18 @@ } }, "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, + "license": "MIT", "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "word-wrap": "^1.2.5" }, "engines": { "node": ">= 0.8.0" @@ -4921,15 +5186,49 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", "integrity": "sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==", + "license": "MIT", "engines": { "node": ">=4" } }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/p-map": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", "dev": true, + "license": "MIT", "dependencies": { "aggregate-error": "^3.0.0" }, @@ -4937,11 +5236,21 @@ "node": ">=8" } }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/package-hash": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", "dev": true, + "license": "ISC", "dependencies": { "graceful-fs": "^4.1.15", "hasha": "^5.0.0", @@ -4957,6 +5266,7 @@ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, + "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -4964,11 +5274,21 @@ "node": ">=6" } }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -4978,6 +5298,7 @@ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -4986,31 +5307,22 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/path-to-regexp": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", - "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==", "dev": true, - "dependencies": { - "isarray": "0.0.1" - } + "license": "MIT" }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "node_modules/path-to-regexp": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", + "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", "dev": true, - "engines": { - "node": ">=8" - } + "license": "MIT" }, "node_modules/pathval": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", "dev": true, + "license": "MIT", "engines": { "node": "*" } @@ -5027,6 +5339,7 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8.6" }, @@ -5039,6 +5352,7 @@ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, + "license": "MIT", "dependencies": { "find-up": "^4.0.0" }, @@ -5051,6 +5365,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -5064,6 +5379,7 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -5076,6 +5392,7 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -5091,6 +5408,7 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -5098,24 +5416,6 @@ "node": ">=8" } }, - "node_modules/pkg-dir/node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/possible-typed-array-names": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", @@ -5131,6 +5431,7 @@ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8.0" } @@ -5156,6 +5457,7 @@ "resolved": "https://registry.npmjs.org/pretty-quick/-/pretty-quick-3.3.1.tgz", "integrity": "sha512-3b36UXfYQ+IXXqex6mCca89jC8u0mYLqFAN5eTQKoXO6oCQYcIVYZEB/5AlBHI7JPYygReM2Vv6Vom/Gln7fBg==", "dev": true, + "license": "MIT", "dependencies": { "execa": "^4.1.0", "find-up": "^4.1.0", @@ -5180,6 +5482,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -5189,10 +5492,11 @@ } }, "node_modules/pretty-quick/node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } @@ -5202,6 +5506,7 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -5214,6 +5519,7 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -5229,6 +5535,7 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -5236,29 +5543,12 @@ "node": ">=8" } }, - "node_modules/pretty-quick/node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/pretty-quick/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/pretty-quick/node_modules/picomatch": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-3.0.1.tgz", "integrity": "sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -5266,17 +5556,12 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/pretty-quick/node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", - "dev": true - }, "node_modules/process-on-spawn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", - "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.1.0.tgz", + "integrity": "sha512-JOnOPQ/8TZgjs1JIH/m9ni7FfimjNa/PRx7y/Wb5qdItsnhO0jE4AT7fC0HjC28DUQWDr50dwSYZLdRMlqDq3Q==", "dev": true, + "license": "MIT", "dependencies": { "fromentries": "^1.2.0" }, @@ -5284,19 +5569,11 @@ "node": ">=8" } }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/promise-batcher": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/promise-batcher/-/promise-batcher-1.1.0.tgz", - "integrity": "sha512-Q/+G7i1ZqRCx56s9W1RRjhK6xveb2UkZz4Lt6xksO3SjcglDrRrQ4YRQ4WtalOFCzUNiAhstLLOX31QJRmr/BA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/promise-batcher/-/promise-batcher-1.1.1.tgz", + "integrity": "sha512-DtGBp8OQlAtALDFoVphyAz6Vn1c0GyelKU5smpMQEXpEAcWWxY3fC5JT0AkpWqrljvJrhC6zVdWbK/jx6NNG2A==", + "license": "MIT", "dependencies": { "p-defer": "^3.0.0" }, @@ -5308,6 +5585,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==", + "license": "MIT", "engines": { "node": ">=8" } @@ -5316,6 +5594,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/promise-pool-executor/-/promise-pool-executor-1.1.1.tgz", "integrity": "sha512-WZTGr7E8tiW93QoSRe0+arBIrJ13m7yKov/vyWqP8nkME/OjfzZgmSJjLtcDHd6VVz2LdSoAHZLmDfis8hJd1w==", + "license": "MIT", "dependencies": { "debug": "^3.1.0", "next-tick": "^1.0.0", @@ -5330,6 +5609,7 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", "dependencies": { "ms": "^2.1.1" } @@ -5339,24 +5619,27 @@ "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", + "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", "dev": true, + "license": "MIT", "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", "engines": { "node": ">=6" } @@ -5379,13 +5662,15 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, + "license": "MIT", "dependencies": { "safe-buffer": "^5.1.0" } @@ -5409,6 +5694,7 @@ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, + "license": "MIT", "dependencies": { "picomatch": "^2.2.1" }, @@ -5460,23 +5746,12 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, "node_modules/release-zalgo": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==", "dev": true, + "license": "ISC", "dependencies": { "es6-error": "^4.0.1" }, @@ -5488,15 +5763,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -5504,21 +5771,26 @@ "node_modules/require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "license": "ISC" }, "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -5528,15 +5800,17 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", "dev": true, + "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -5546,7 +5820,9 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -5557,41 +5833,89 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/rmdir-sync": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rmdir-sync/-/rmdir-sync-1.0.1.tgz", - "integrity": "sha512-Fp12ZE5QArxMIfyPIfWh9Jc/n98pCZWGYOpy6u0P1ZdrHN+4dPZLpa57DuSL2Ie2wMcbOrBGv57eHQmxfINtow==", - "dev": true - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "node_modules/rimraf/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], + "license": "MIT", "dependencies": { - "queue-microtask": "^1.2.2" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/safe-array-concat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", - "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, - "license": "MIT", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/rmdir-sync": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rmdir-sync/-/rmdir-sync-1.0.1.tgz", + "integrity": "sha512-Fp12ZE5QArxMIfyPIfWh9Jc/n98pCZWGYOpy6u0P1ZdrHN+4dPZLpa57DuSL2Ie2wMcbOrBGv57eHQmxfINtow==", + "dev": true, + "license": "MIT" + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", + "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.2", @@ -5606,13 +5930,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/safe-array-concat/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true, - "license": "MIT" - }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -5630,7 +5947,8 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/safe-push-apply": { "version": "1.0.0", @@ -5649,13 +5967,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/safe-push-apply/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true, - "license": "MIT" - }, "node_modules/safe-regex-test": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", @@ -5687,6 +5998,7 @@ "version": "1.6.3", "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", + "license": "WTFPL OR ISC", "dependencies": { "truncate-utf8-bytes": "^1.0.0" } @@ -5694,16 +6006,15 @@ "node_modules/secure-keys": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/secure-keys/-/secure-keys-1.0.0.tgz", - "integrity": "sha512-nZi59hW3Sl5P3+wOO89eHBAAGwmCPd2aE1+dLZV5MO+ItQctIvAqihzaAXIQhvtH4KJPxM080HsnqltR2y8cWg==" + "integrity": "sha512-nZi59hW3Sl5P3+wOO89eHBAAGwmCPd2aE1+dLZV5MO+ItQctIvAqihzaAXIQhvtH4KJPxM080HsnqltR2y8cWg==", + "license": "MIT" }, "node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -5711,29 +6022,12 @@ "node": ">=10" } }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/serialize-javascript": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" } @@ -5741,13 +6035,15 @@ "node_modules/set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "license": "ISC" }, "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dev": true, + "license": "MIT", "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", @@ -5894,13 +6190,16 @@ "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/sinon": { "version": "13.0.2", "resolved": "https://registry.npmjs.org/sinon/-/sinon-13.0.2.tgz", "integrity": "sha512-KvOrztAVqzSJWMDoxM4vM+GPys1df2VBoXm+YciyB/OLMamfS3VXh3oGh5WtrAGSzrgczNWFFY22oKb7Fi5eeA==", + "deprecated": "16.1.1", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^1.8.3", "@sinonjs/fake-timers": "^9.1.2", @@ -5919,42 +6218,18 @@ "resolved": "https://registry.npmjs.org/sinon-chai/-/sinon-chai-3.7.0.tgz", "integrity": "sha512-mf5NURdUaSdnatJx3uhoBOrY9dtL19fiOtAdT1Azxg3+lNJFiuN0uzaU3xX1LeAfL17kHQhTAJgpsfhbMJMY2g==", "dev": true, + "license": "(BSD-2-Clause OR WTFPL)", "peerDependencies": { "chai": "^4.0.0", "sinon": ">=4.0.0" } }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, "node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -5964,6 +6239,7 @@ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, + "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -5974,6 +6250,7 @@ "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", "dev": true, + "license": "ISC", "dependencies": { "foreground-child": "^2.0.0", "is-windows": "^1.0.2", @@ -5986,10 +6263,18 @@ "node": ">=8" } }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true, + "license": "BSD-3-Clause" + }, "node_modules/stack-trace": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", + "license": "MIT", "engines": { "node": "*" } @@ -6021,6 +6306,7 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -6076,6 +6362,7 @@ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -6092,6 +6379,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -6104,6 +6392,7 @@ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -6113,6 +6402,7 @@ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -6122,6 +6412,7 @@ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -6134,6 +6425,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -6146,6 +6438,7 @@ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -6153,56 +6446,65 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/table": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz", - "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==", + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, + "license": "ISC", "dependencies": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" }, "engines": { - "node": ">=10.0.0" + "node": ">=8" } }, - "node_modules/table/node_modules/ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "node_modules/test-exclude/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, + "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/table/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "node_modules/test-exclude/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, + "license": "ISC", "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=8" + "node": "*" } }, "node_modules/text-hex": { @@ -6211,17 +6513,12 @@ "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==", "license": "MIT" }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, + "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -6233,7 +6530,8 @@ "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/triple-beam": { "version": "1.4.1", @@ -6248,10 +6546,24 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==", + "license": "WTFPL", "dependencies": { "utf8-byte-length": "^1.0.1" } }, + "node_modules/ts-api-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", + "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, "node_modules/ts-mocha": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/ts-mocha/-/ts-mocha-10.1.0.tgz", @@ -6279,6 +6591,7 @@ "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-7.0.1.tgz", "integrity": "sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw==", "dev": true, + "license": "MIT", "dependencies": { "arrify": "^1.0.0", "buffer-from": "^1.1.0", @@ -6296,20 +6609,12 @@ "node": ">=4.2.0" } }, - "node_modules/ts-node/node_modules/arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/ts-node/node_modules/diff": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" } @@ -6319,6 +6624,7 @@ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, + "license": "MIT", "dependencies": { "minimist": "^1.2.6" }, @@ -6331,6 +6637,7 @@ "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", "dev": true, + "license": "MIT", "dependencies": { "@types/json5": "^0.0.29", "json5": "^1.0.2", @@ -6343,6 +6650,7 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, + "license": "MIT", "dependencies": { "minimist": "^1.2.0" }, @@ -6355,36 +6663,24 @@ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } + "license": "0BSD" }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" }, @@ -6393,24 +6689,23 @@ } }, "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", + "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/typed-array-buffer": { @@ -6496,14 +6791,15 @@ "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", "dev": true, + "license": "MIT", "dependencies": { "is-typedarray": "^1.0.0" } }, "node_modules/typescript": { - "version": "5.9.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz", - "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==", + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", "bin": { @@ -6543,22 +6839,25 @@ } }, "node_modules/undici-types": { - "version": "6.19.4", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.4.tgz", - "integrity": "sha512-BiKTnNSkjSEYzxd0X3KQ/ZNoA8/aFlS598kds3PuZ55csLy3fFqGap0aP84Ekb/VWYG5um4MgilNs3kAx4LHMg==" + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "dev": true, + "license": "MIT" }, "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "license": "MIT", "engines": { "node": ">= 10.0.0" } }, "node_modules/update-browserslist-db": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz", - "integrity": "sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.4.tgz", + "integrity": "sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==", "dev": true, "funding": [ { @@ -6568,14 +6867,19 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.2.0", + "picocolors": "^1.1.1" }, "bin": { - "browserslist-lint": "cli.js" + "update-browserslist-db": "cli.js" }, "peerDependencies": { "browserslist": ">= 4.21.0" @@ -6585,14 +6889,16 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } }, "node_modules/utf8-byte-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", - "integrity": "sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA==" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", + "integrity": "sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==", + "license": "(WTFPL OR MIT)" }, "node_modules/util-deprecate": { "version": "1.0.2", @@ -6601,31 +6907,31 @@ "license": "MIT" }, "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true, + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", + "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", "bin": { - "uuid": "dist/bin/uuid" + "uuid": "dist/esm/bin/uuid" } }, - "node_modules/v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true + "dev": true, + "license": "BSD-2-Clause" }, "node_modules/whatwg-url": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "dev": true, + "license": "MIT", "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -6695,13 +7001,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/which-builtin-type/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true, - "license": "MIT" - }, "node_modules/which-collection": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", @@ -6722,9 +7021,10 @@ } }, "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "license": "ISC" }, "node_modules/which-typed-array": { "version": "1.1.19", @@ -6785,10 +7085,11 @@ } }, "node_modules/word-wrap": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz", - "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -6797,12 +7098,14 @@ "version": "6.5.1", "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==", - "dev": true + "dev": true, + "license": "Apache-2.0" }, "node_modules/wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -6816,13 +7119,15 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/write-file-atomic": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", "dev": true, + "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", "is-typedarray": "^1.0.0", @@ -6833,12 +7138,21 @@ "node_modules/y18n": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "license": "ISC" + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" }, "node_modules/yargs": { "version": "15.4.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "license": "MIT", "dependencies": { "cliui": "^6.0.0", "decamelize": "^1.2.0", @@ -6860,6 +7174,7 @@ "version": "20.2.9", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "license": "ISC", "engines": { "node": ">=10" } @@ -6869,6 +7184,7 @@ "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", "dev": true, + "license": "MIT", "dependencies": { "camelcase": "^6.0.0", "decamelize": "^4.0.0", @@ -6884,6 +7200,7 @@ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -6896,6 +7213,7 @@ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -6907,6 +7225,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -6919,6 +7238,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -6930,6 +7250,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -6944,6 +7265,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -6951,26 +7273,11 @@ "node": ">=8" } }, - "node_modules/yargs/node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, "node_modules/yargs/node_modules/yargs-parser": { "version": "18.1.3", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "license": "ISC", "dependencies": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" @@ -6984,6 +7291,7 @@ "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz", "integrity": "sha512-uTv8J/wiWTgUTg+9vLTi//leUl5vDQS6uii/emeTb2ssY7vl6QWf2fFbIIGjnhjvbdKlU0ed7QPgY1htTC86jQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -6993,5025 +7301,13 @@ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } - }, - "node_modules/zlib": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/zlib/-/zlib-1.0.5.tgz", - "integrity": "sha512-40fpE2II+Cd3k8HWTWONfeKE2jL+P42iWJ1zzps5W51qcTsOUKM5Q5m2PFb0CLxlmFAaUuUdJGc3OfZy947v0w==", - "dev": true, - "hasInstallScript": true, - "engines": { - "node": ">=0.2.0" - } - } - }, - "dependencies": { - "@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/compat-data": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.8.tgz", - "integrity": "sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==", - "dev": true - }, - "@babel/core": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.10.tgz", - "integrity": "sha512-JQM6k6ENcBFKVtWvLavlvi/mPcpYZ3+R+2EySDEMSMbp7Mn4FexlbbJVrx2R7Ijhr01T8gyqrOaABWIOgxeUyw==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.10", - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-module-transforms": "^7.18.9", - "@babel/helpers": "^7.18.9", - "@babel/parser": "^7.18.10", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.18.10", - "@babel/types": "^7.18.10", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dev": true, - "requires": { - "@babel/highlight": "^7.18.6" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", - "dev": true, - "requires": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, - "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - } - } - } - }, - "@babel/helper-compilation-targets": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz", - "integrity": "sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.18.8", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.20.2", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true - }, - "@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "requires": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-module-transforms": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz", - "integrity": "sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.18.6", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-simple-access": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", - "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-string-parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", - "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", - "dev": true - }, - "@babel/helpers": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.1.tgz", - "integrity": "sha512-FCvFTm0sWV8Fxhpp2McP5/W53GPllQ9QeQ7SiqGWjMf/LVG07lFa5+pgK05IRhVwtvafT22KF+ZSnM9I545CvQ==", - "dev": true, - "requires": { - "@babel/template": "^7.27.1", - "@babel/types": "^7.27.1" - } - }, - "@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.1.tgz", - "integrity": "sha512-I0dZ3ZpCrJ1c04OqlNsQcKiZlsrXf/kkE4FXzID9rIOYICsAbA8mMDzhW/luRNAHdCNt7os/u8wenklZDlUVUQ==", - "dev": true, - "requires": { - "@babel/types": "^7.27.1" - } - }, - "@babel/template": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.1.tgz", - "integrity": "sha512-Fyo3ghWMqkHHpHQCoBs2VnYjR4iWFFjguTDEqA5WgZDOrFesVjMhMM2FSqTKSoUSDO1VQtavj8NFpdRBEvJTtg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.1", - "@babel/types": "^7.27.1" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", - "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.27.1", - "js-tokens": "^4.0.0", - "picocolors": "^1.1.1" - } - } - } - }, - "@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", - "dev": true, - "requires": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" - } - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/types": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.1.tgz", - "integrity": "sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1" - } - }, - "@colors/colors": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", - "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==" - }, - "@dabh/diagnostics": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.8.tgz", - "integrity": "sha512-R4MSXTVnuMzGD7bzHdW2ZhhdPC/igELENcq5IjEverBvq5hn1SXCWcsi6eSsdWP0/Ur+SItRRjAktmdoX/8R/Q==", - "requires": { - "@so-ric/colorspace": "^1.1.6", - "enabled": "2.0.x", - "kuler": "^2.0.0" - } - }, - "@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - } - } - }, - "@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - } - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - } - } - }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true - }, - "@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true - }, - "@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@rtsao/scc": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", - "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", - "dev": true - }, - "@sinonjs/commons": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", - "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", - "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.7.0" - } - }, - "@sinonjs/samsam": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-6.1.1.tgz", - "integrity": "sha512-cZ7rKJTLiE7u7Wi/v9Hc2fs3Ucc3jrWeMgPHbbTCeVAB2S0wOBbYlkJVeNSL04i7fdhT8wIbDq1zhC/PXTD2SA==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.6.0", - "lodash.get": "^4.4.2", - "type-detect": "^4.0.8" - } - }, - "@sinonjs/text-encoding": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz", - "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==", - "dev": true - }, - "@so-ric/colorspace": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/@so-ric/colorspace/-/colorspace-1.1.6.tgz", - "integrity": "sha512-/KiKkpHNOBgkFJwu9sh48LkHSMYGyuTcSFK/qMBdnOAlrRJzRSXAOFB5qwzaVQuDl8wAvHVMkaASQDReTahxuw==", - "requires": { - "color": "^5.0.2", - "text-hex": "1.0.x" - } - }, - "@types/fs-extra": { - "version": "9.0.13", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz", - "integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true - }, - "@types/lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA==", - "dev": true - }, - "@types/mocha": { - "version": "10.0.10", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.10.tgz", - "integrity": "sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q==", - "dev": true - }, - "@types/nconf": { - "version": "0.10.7", - "resolved": "https://registry.npmjs.org/@types/nconf/-/nconf-0.10.7.tgz", - "integrity": "sha512-ltJgbQX0XgjkeDrz0anTCXLBLatppWYFCxp88ILEwybfAuyNWr0Qb+ceFFqZ0VDR8fguEjr0hH37ZF+AF4gsxw==", - "dev": true - }, - "@types/node": { - "version": "18.7.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.2.tgz", - "integrity": "sha512-ce7MIiaYWCFv6A83oEultwhBXb22fxwNOQf5DIxWA4WXvDQ7K+L0fbWl/YOfCzlR5B/uFkSnVBhPcOfOECcWvA==", - "dev": true - }, - "@types/triple-beam": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz", - "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==" - }, - "@typescript-eslint/parser": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "debug": "^4.3.4" - } - }, - "@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" - } - }, - "@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" - } - }, - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} - }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "append-transform": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", - "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", - "dev": true, - "requires": { - "default-require-extensions": "^3.0.0" - } - }, - "archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", - "dev": true - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "array-buffer-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", - "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", - "dev": true, - "requires": { - "call-bound": "^1.0.3", - "is-array-buffer": "^3.0.5" - } - }, - "array-includes": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", - "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.24.0", - "es-object-atoms": "^1.1.1", - "get-intrinsic": "^1.3.0", - "is-string": "^1.1.1", - "math-intrinsics": "^1.1.0" - } - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "array.prototype.findlastindex": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", - "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-shim-unscopables": "^1.1.0" - } - }, - "array.prototype.flat": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", - "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - } - }, - "array.prototype.flatmap": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", - "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - } - }, - "arraybuffer.prototype.slice": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", - "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", - "dev": true, - "requires": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "is-array-buffer": "^3.0.4" - } - }, - "assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true - }, - "astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true - }, - "async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" - }, - "async-function": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", - "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", - "dev": true - }, - "auth0": { - "version": "4.36.0", - "resolved": "https://registry.npmjs.org/auth0/-/auth0-4.36.0.tgz", - "integrity": "sha512-n/eqshTNXY9HY+KaHbxLNHr5iOqg4PztMczNQXOIrHcyUsi6zB6uQphP25tbKiy7+A1pwgX/ZkAOnTzFUoBroA==", - "requires": { - "jose": "^4.13.2", - "undici-types": "^6.15.0", - "uuid": "^9.0.0" - }, - "dependencies": { - "uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==" - } - } - }, - "available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "dev": true, - "requires": { - "possible-typed-array-names": "^1.0.0" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true - }, - "brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "requires": { - "fill-range": "^7.1.1" - } - }, - "browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true - }, - "browserslist": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", - "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001370", - "electron-to-chromium": "^1.4.202", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.5" - } - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "caching-transform": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", - "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", - "dev": true, - "requires": { - "hasha": "^5.0.0", - "make-dir": "^3.0.0", - "package-hash": "^4.0.0", - "write-file-atomic": "^3.0.0" - } - }, - "call-bind": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", - "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", - "dev": true, - "requires": { - "call-bind-apply-helpers": "^1.0.0", - "es-define-property": "^1.0.0", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.2" - } - }, - "call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "dev": true, - "requires": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - } - }, - "call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "dev": true, - "requires": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "caniuse-lite": { - "version": "1.0.30001375", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001375.tgz", - "integrity": "sha512-kWIMkNzLYxSvnjy0hL8w1NOaWNr2rn39RTAVyIwcw8juu60bZDWiF1/loOYANzjtJmy6qPgNmn38ro5Pygagdw==", - "dev": true - }, - "chai": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz", - "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==", - "dev": true, - "requires": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.1.0" - }, - "dependencies": { - "type-detect": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", - "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", - "dev": true - } - } - }, - "chai-as-promised": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.2.tgz", - "integrity": "sha512-aBDHZxRzYnUYuIAIPBH2s511DjlKPzXNlXSGFC8CwmroWQLfrW0LtE1nK3MAwwNhJPa9raEjNCmRoFpG0Hurdw==", - "dev": true, - "requires": { - "check-error": "^1.0.2" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", - "dev": true, - "requires": { - "get-func-name": "^2.0.2" - } - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - } - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "color": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/color/-/color-5.0.2.tgz", - "integrity": "sha512-e2hz5BzbUPcYlIRHo8ieAhYgoajrJr+hWoceg6E345TPsATMUKqDgzt8fSXZJJbxfpiPzkWyphz8yn8At7q3fA==", - "requires": { - "color-convert": "^3.0.1", - "color-string": "^2.0.0" - }, - "dependencies": { - "color-convert": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.2.tgz", - "integrity": "sha512-UNqkvCDXstVck3kdowtOTWROIJQwafjOfXSmddoDrXo4cewMKmusCeF22Q24zvjR8nwWib/3S/dfyzPItPEiJg==", - "requires": { - "color-name": "^2.0.0" - } - }, - "color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==" - } - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "color-string": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-2.1.2.tgz", - "integrity": "sha512-RxmjYxbWemV9gKu4zPgiZagUxbH3RQpEIO77XoSSX0ivgABDZ+h8Zuash/EMFLTI4N9QgFPOJ6JQpPZKFxa+dA==", - "requires": { - "color-name": "^2.0.0" - }, - "dependencies": { - "color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==" - } - } - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "confusing-browser-globals": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", - "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", - "dev": true - }, - "convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - } - } - }, - "cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "data-view-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", - "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", - "dev": true, - "requires": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - } - }, - "data-view-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", - "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", - "dev": true, - "requires": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - } - }, - "data-view-byte-offset": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", - "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", - "dev": true, - "requires": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - } - }, - "debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "dev": true, - "requires": { - "ms": "^2.1.3" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" - }, - "deep-eql": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz", - "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==", - "dev": true, - "requires": { - "type-detect": "^4.0.0" - } - }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "default-require-extensions": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", - "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", - "dev": true, - "requires": { - "strip-bom": "^4.0.0" - } - }, - "define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dev": true, - "requires": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - } - }, - "define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "dev": true, - "requires": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "diff": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", - "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", - "dev": true - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "requires": { - "is-obj": "^2.0.0" - } - }, - "dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dev": true, - "requires": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - } - }, - "electron-to-chromium": { - "version": "1.4.215", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.215.tgz", - "integrity": "sha512-vqZxT8C5mlDZ//hQFhneHmOLnj1LhbzxV0+I1yqHV8SB1Oo4Y5Ne9+qQhwHl7O1s9s9cRuo2l5CoLEHdhMTwZg==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "enabled": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", - "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==" - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "requires": { - "ansi-colors": "^4.1.1" - } - }, - "es-abstract": { - "version": "1.24.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz", - "integrity": "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==", - "dev": true, - "requires": { - "array-buffer-byte-length": "^1.0.2", - "arraybuffer.prototype.slice": "^1.0.4", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "data-view-buffer": "^1.0.2", - "data-view-byte-length": "^1.0.2", - "data-view-byte-offset": "^1.0.1", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-set-tostringtag": "^2.1.0", - "es-to-primitive": "^1.3.0", - "function.prototype.name": "^1.1.8", - "get-intrinsic": "^1.3.0", - "get-proto": "^1.0.1", - "get-symbol-description": "^1.1.0", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "internal-slot": "^1.1.0", - "is-array-buffer": "^3.0.5", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.2", - "is-negative-zero": "^2.0.3", - "is-regex": "^1.2.1", - "is-set": "^2.0.3", - "is-shared-array-buffer": "^1.0.4", - "is-string": "^1.1.1", - "is-typed-array": "^1.1.15", - "is-weakref": "^1.1.1", - "math-intrinsics": "^1.1.0", - "object-inspect": "^1.13.4", - "object-keys": "^1.1.1", - "object.assign": "^4.1.7", - "own-keys": "^1.0.1", - "regexp.prototype.flags": "^1.5.4", - "safe-array-concat": "^1.1.3", - "safe-push-apply": "^1.0.0", - "safe-regex-test": "^1.1.0", - "set-proto": "^1.0.0", - "stop-iteration-iterator": "^1.1.0", - "string.prototype.trim": "^1.2.10", - "string.prototype.trimend": "^1.0.9", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.3", - "typed-array-byte-length": "^1.0.3", - "typed-array-byte-offset": "^1.0.4", - "typed-array-length": "^1.0.7", - "unbox-primitive": "^1.1.0", - "which-typed-array": "^1.1.19" - } - }, - "es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "dev": true - }, - "es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true - }, - "es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "dev": true, - "requires": { - "es-errors": "^1.3.0" - } - }, - "es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "dev": true, - "requires": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - } - }, - "es-shim-unscopables": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", - "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", - "dev": true, - "requires": { - "hasown": "^2.0.2" - } - }, - "es-to-primitive": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", - "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", - "dev": true, - "requires": { - "is-callable": "^1.2.7", - "is-date-object": "^1.0.5", - "is-symbol": "^1.0.4" - } - }, - "es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "dev": true - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, - "eslint": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", - "dev": true, - "requires": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - } - } - }, - "eslint-config-airbnb-base": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz", - "integrity": "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==", - "dev": true, - "requires": { - "confusing-browser-globals": "^1.0.10", - "object.assign": "^4.1.2", - "object.entries": "^1.1.5", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "eslint-config-prettier": { - "version": "10.1.8", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz", - "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==", - "dev": true, - "requires": {} - }, - "eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "dev": true, - "requires": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-module-utils": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", - "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", - "dev": true, - "requires": { - "debug": "^3.2.7" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-plugin-import": { - "version": "2.32.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", - "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", - "dev": true, - "requires": { - "@rtsao/scc": "^1.1.0", - "array-includes": "^3.1.9", - "array.prototype.findlastindex": "^1.2.6", - "array.prototype.flat": "^1.3.3", - "array.prototype.flatmap": "^1.3.3", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.12.1", - "hasown": "^2.0.2", - "is-core-module": "^2.16.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.8", - "object.groupby": "^1.0.3", - "object.values": "^1.2.1", - "semver": "^6.3.1", - "string.prototype.trimend": "^1.0.9", - "tsconfig-paths": "^3.15.0" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } - } - }, - "eslint-visitor-keys": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", - "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", - "dev": true - }, - "espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "dev": true, - "requires": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-glob": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz", - "integrity": "sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "fecha": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", - "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==" - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } - }, - "flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.6.tgz", - "integrity": "sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==", - "dev": true - }, - "fn.name": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", - "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==" - }, - "for-each": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", - "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", - "dev": true, - "requires": { - "is-callable": "^1.2.7" - } - }, - "foreground-child": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", - "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" - } - }, - "fromentries": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", - "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", - "dev": true - }, - "fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true - }, - "function.prototype.name": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", - "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "functions-have-names": "^1.2.3", - "hasown": "^2.0.2", - "is-callable": "^1.2.7" - } - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true - }, - "functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, - "get-func-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", - "dev": true - }, - "get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "dev": true, - "requires": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - } - }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true - }, - "get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dev": true, - "requires": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - } - }, - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "get-symbol-description": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", - "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", - "dev": true, - "requires": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6" - } - }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "globalthis": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", - "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", - "dev": true, - "requires": { - "define-properties": "^1.2.1", - "gopd": "^1.0.1" - } - }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "dependencies": { - "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true - } - } - }, - "gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "dev": true - }, - "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - }, - "has-bigints": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", - "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "dev": true, - "requires": { - "es-define-property": "^1.0.0" - } - }, - "has-proto": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", - "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", - "dev": true, - "requires": { - "dunder-proto": "^1.0.0" - } - }, - "has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "dev": true - }, - "has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dev": true, - "requires": { - "has-symbols": "^1.0.3" - } - }, - "hasha": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", - "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", - "dev": true, - "requires": { - "is-stream": "^2.0.0", - "type-fest": "^0.8.0" - }, - "dependencies": { - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true - } - } - }, - "hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, - "requires": { - "function-bind": "^1.1.2" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "dev": true - }, - "husky": { - "version": "9.1.7", - "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.7.tgz", - "integrity": "sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==", - "dev": true - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==" - }, - "internal-slot": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", - "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", - "dev": true, - "requires": { - "es-errors": "^1.3.0", - "hasown": "^2.0.2", - "side-channel": "^1.1.0" - } - }, - "is-array-buffer": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", - "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - } - }, - "is-async-function": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", - "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", - "dev": true, - "requires": { - "async-function": "^1.0.0", - "call-bound": "^1.0.3", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - } - }, - "is-bigint": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", - "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", - "dev": true, - "requires": { - "has-bigints": "^1.0.2" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-boolean-object": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", - "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", - "dev": true, - "requires": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - } - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true - }, - "is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", - "dev": true, - "requires": { - "hasown": "^2.0.2" - } - }, - "is-data-view": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", - "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", - "dev": true, - "requires": { - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "is-typed-array": "^1.1.13" - } - }, - "is-date-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", - "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", - "dev": true, - "requires": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true - }, - "is-finalizationregistry": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", - "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", - "dev": true, - "requires": { - "call-bound": "^1.0.3" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "is-generator-function": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", - "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", - "dev": true, - "requires": { - "call-bound": "^1.0.3", - "get-proto": "^1.0.0", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - } - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", - "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", - "dev": true - }, - "is-negative-zero": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", - "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "is-number-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", - "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", - "dev": true, - "requires": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - } - }, - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" - }, - "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true - }, - "is-regex": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", - "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", - "dev": true, - "requires": { - "call-bound": "^1.0.2", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - } - }, - "is-set": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", - "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", - "dev": true - }, - "is-shared-array-buffer": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", - "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", - "dev": true, - "requires": { - "call-bound": "^1.0.3" - } - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" - }, - "is-string": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", - "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", - "dev": true, - "requires": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - } - }, - "is-symbol": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", - "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", - "dev": true, - "requires": { - "call-bound": "^1.0.2", - "has-symbols": "^1.1.0", - "safe-regex-test": "^1.1.0" - } - }, - "is-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", - "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", - "dev": true, - "requires": { - "which-typed-array": "^1.1.16" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true - }, - "is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true - }, - "is-weakmap": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", - "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", - "dev": true - }, - "is-weakref": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", - "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", - "dev": true, - "requires": { - "call-bound": "^1.0.3" - } - }, - "is-weakset": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", - "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", - "dev": true, - "requires": { - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - } - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true - }, - "istanbul-lib-hook": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", - "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", - "dev": true, - "requires": { - "append-transform": "^2.0.0" - } - }, - "istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", - "dev": true, - "requires": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "istanbul-lib-processinfo": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz", - "integrity": "sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==", - "dev": true, - "requires": { - "archy": "^1.0.0", - "cross-spawn": "^7.0.3", - "istanbul-lib-coverage": "^3.2.0", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "uuid": "^8.3.2" - } - }, - "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - } - }, - "istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - } - }, - "istanbul-reports": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz", - "integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==", - "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jose": { - "version": "4.15.9", - "resolved": "https://registry.npmjs.org/jose/-/jose-4.15.9.tgz", - "integrity": "sha512-1vUQX+IdDMVPj4k8kOxgUqlcK518yluMuGZwqlr44FS1ppZB/5GWh4rZG89erpOBOJjU/OBsnCVFfapsRz6nEA==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "requires": { - "argparse": "^2.0.1" - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "dev": true - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "just-extend": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", - "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==", - "dev": true - }, - "kacl": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/kacl/-/kacl-1.1.1.tgz", - "integrity": "sha512-qA2xJP0A+BZpNPnfSNJfJvBT7WWkK614gxlhOfodSR+hbOEEnBzfx8h7Zt2HauV79JOSKCMjdqt4SbDUJ2vtWQ==", - "dev": true - }, - "kuler": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", - "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==" - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==", - "dev": true - }, - "lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", - "dev": true - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", - "dev": true - }, - "log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - } - }, - "logform": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/logform/-/logform-2.7.0.tgz", - "integrity": "sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ==", - "requires": { - "@colors/colors": "1.6.0", - "@types/triple-beam": "^1.3.2", - "fecha": "^4.2.0", - "ms": "^2.1.1", - "safe-stable-stringify": "^2.3.1", - "triple-beam": "^1.3.0" - } - }, - "loupe": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", - "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", - "dev": true, - "requires": { - "get-func-name": "^2.0.1" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "dev": true - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true - }, - "micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, - "requires": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - }, - "mocha": { - "version": "10.8.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.8.2.tgz", - "integrity": "sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==", - "dev": true, - "requires": { - "ansi-colors": "^4.1.3", - "browser-stdout": "^1.3.1", - "chokidar": "^3.5.3", - "debug": "^4.3.5", - "diff": "^5.2.0", - "escape-string-regexp": "^4.0.0", - "find-up": "^5.0.0", - "glob": "^8.1.0", - "he": "^1.2.0", - "js-yaml": "^4.1.0", - "log-symbols": "^4.1.0", - "minimatch": "^5.1.6", - "ms": "^2.1.3", - "serialize-javascript": "^6.0.2", - "strip-json-comments": "^3.1.1", - "supports-color": "^8.1.1", - "workerpool": "^6.5.1", - "yargs": "^16.2.0", - "yargs-parser": "^20.2.9", - "yargs-unparser": "^2.0.0" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - } - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - } - } - }, - "mri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", - "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", - "dev": true - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "nconf": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/nconf/-/nconf-0.13.0.tgz", - "integrity": "sha512-hJ/u2xCpA663h6xyOiztx3y+lg9eU0rdkwJ+c4FtiHo2g/gB0sjXtW31yTdMLWLOIj1gL2FcJMwfOqouuUK/Wg==", - "requires": { - "async": "^3.0.0", - "ini": "^2.0.0", - "secure-keys": "^1.0.0", - "yargs": "^16.1.1" - }, - "dependencies": { - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - } - } - }, - "next-tick": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", - "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" - }, - "nise": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.1.tgz", - "integrity": "sha512-yr5kW2THW1AkxVmCnKEh4nbYkJdB3I7LUkiUgOvEkOp414mc2UMaHMA7pjq1nYowhdoJZGwEKGaQVbxfpWj10A==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.8.3", - "@sinonjs/fake-timers": ">=5", - "@sinonjs/text-encoding": "^0.7.1", - "just-extend": "^4.0.2", - "path-to-regexp": "^1.7.0" - } - }, - "nock": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/nock/-/nock-13.5.6.tgz", - "integrity": "sha512-o2zOYiCpzRqSzPj0Zt/dQ/DqZeYoaQ7TUonc/xUPjCGl9WeHpNbxgVvOquXYAaJzI0M9BXV3HTzG0p8IUAbBTQ==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "json-stringify-safe": "^5.0.1", - "propagate": "^2.0.0" - } - }, - "node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dev": true, - "requires": { - "whatwg-url": "^5.0.0" - } - }, - "node-preload": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", - "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", - "dev": true, - "requires": { - "process-on-spawn": "^1.0.0" - } - }, - "node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", - "dev": true - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "nyc": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", - "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", - "dev": true, - "requires": { - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "caching-transform": "^4.0.0", - "convert-source-map": "^1.7.0", - "decamelize": "^1.2.0", - "find-cache-dir": "^3.2.0", - "find-up": "^4.1.0", - "foreground-child": "^2.0.0", - "get-package-type": "^0.1.0", - "glob": "^7.1.6", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-hook": "^3.0.0", - "istanbul-lib-instrument": "^4.0.0", - "istanbul-lib-processinfo": "^2.0.2", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "3.1.4", - "make-dir": "^3.0.0", - "node-preload": "^0.2.1", - "p-map": "^3.0.0", - "process-on-spawn": "^1.0.0", - "resolve-from": "^5.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "spawn-wrap": "^2.0.0", - "test-exclude": "^6.0.0", - "yargs": "^15.0.2" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - } - } - }, - "object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", - "dev": true - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object.assign": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", - "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0", - "has-symbols": "^1.1.0", - "object-keys": "^1.1.1" - } - }, - "object.entries": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz", - "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - } - }, - "object.fromentries": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", - "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - } - }, - "object.groupby": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", - "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2" - } - }, - "object.values": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", - "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "one-time": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", - "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", - "requires": { - "fn.name": "1.x.x" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - } - }, - "own-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", - "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", - "dev": true, - "requires": { - "get-intrinsic": "^1.2.6", - "object-keys": "^1.1.1", - "safe-push-apply": "^1.0.0" - } - }, - "p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==" - }, - "p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", - "dev": true, - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "package-hash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", - "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.15", - "hasha": "^5.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" - } - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "path-to-regexp": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", - "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==", - "dev": true, - "requires": { - "isarray": "0.0.1" - } - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, - "pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true - }, - "picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - } - } - }, - "possible-typed-array-names": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", - "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", - "dev": true - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true - }, - "prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", - "dev": true - }, - "pretty-quick": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/pretty-quick/-/pretty-quick-3.3.1.tgz", - "integrity": "sha512-3b36UXfYQ+IXXqex6mCca89jC8u0mYLqFAN5eTQKoXO6oCQYcIVYZEB/5AlBHI7JPYygReM2Vv6Vom/Gln7fBg==", - "dev": true, - "requires": { - "execa": "^4.1.0", - "find-up": "^4.1.0", - "ignore": "^5.3.0", - "mri": "^1.2.0", - "picocolors": "^1.0.0", - "picomatch": "^3.0.1", - "tslib": "^2.6.2" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", - "dev": true - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "picomatch": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-3.0.1.tgz", - "integrity": "sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag==", - "dev": true - }, - "tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", - "dev": true - } - } - }, - "process-on-spawn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", - "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", - "dev": true, - "requires": { - "fromentries": "^1.2.0" - } - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true - }, - "promise-batcher": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/promise-batcher/-/promise-batcher-1.1.0.tgz", - "integrity": "sha512-Q/+G7i1ZqRCx56s9W1RRjhK6xveb2UkZz4Lt6xksO3SjcglDrRrQ4YRQ4WtalOFCzUNiAhstLLOX31QJRmr/BA==", - "requires": { - "p-defer": "^3.0.0" - }, - "dependencies": { - "p-defer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", - "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==" - } - } - }, - "promise-pool-executor": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/promise-pool-executor/-/promise-pool-executor-1.1.1.tgz", - "integrity": "sha512-WZTGr7E8tiW93QoSRe0+arBIrJ13m7yKov/vyWqP8nkME/OjfzZgmSJjLtcDHd6VVz2LdSoAHZLmDfis8hJd1w==", - "requires": { - "debug": "^3.1.0", - "next-tick": "^1.0.0", - "p-defer": "^1.0.0", - "promise-batcher": "^1.0.1" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "propagate": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", - "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", - "dev": true - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "reflect.getprototypeof": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", - "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.1", - "which-builtin-type": "^1.2.1" - } - }, - "regexp.prototype.flags": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", - "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "set-function-name": "^2.0.2" - } - }, - "regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true - }, - "release-zalgo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==", - "dev": true, - "requires": { - "es6-error": "^4.0.1" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" - }, - "resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "dev": true, - "requires": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "rmdir-sync": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rmdir-sync/-/rmdir-sync-1.0.1.tgz", - "integrity": "sha512-Fp12ZE5QArxMIfyPIfWh9Jc/n98pCZWGYOpy6u0P1ZdrHN+4dPZLpa57DuSL2Ie2wMcbOrBGv57eHQmxfINtow==", - "dev": true - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "safe-array-concat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", - "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "has-symbols": "^1.1.0", - "isarray": "^2.0.5" - }, - "dependencies": { - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - } - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "safe-push-apply": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", - "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", - "dev": true, - "requires": { - "es-errors": "^1.3.0", - "isarray": "^2.0.5" - }, - "dependencies": { - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - } - } - }, - "safe-regex-test": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", - "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", - "dev": true, - "requires": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-regex": "^1.2.1" - } - }, - "safe-stable-stringify": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz", - "integrity": "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==" - }, - "sanitize-filename": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", - "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", - "requires": { - "truncate-utf8-bytes": "^1.0.0" - } - }, - "secure-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/secure-keys/-/secure-keys-1.0.0.tgz", - "integrity": "sha512-nZi59hW3Sl5P3+wOO89eHBAAGwmCPd2aE1+dLZV5MO+ItQctIvAqihzaAXIQhvtH4KJPxM080HsnqltR2y8cWg==" - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, - "serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" - }, - "set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "dev": true, - "requires": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - } - }, - "set-function-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", - "dev": true, - "requires": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" - } - }, - "set-proto": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", - "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", - "dev": true, - "requires": { - "dunder-proto": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "dev": true, - "requires": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - } - }, - "side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "dev": true, - "requires": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - } - }, - "side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "dev": true, - "requires": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - } - }, - "side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "dev": true, - "requires": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - } - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "sinon": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-13.0.2.tgz", - "integrity": "sha512-KvOrztAVqzSJWMDoxM4vM+GPys1df2VBoXm+YciyB/OLMamfS3VXh3oGh5WtrAGSzrgczNWFFY22oKb7Fi5eeA==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.8.3", - "@sinonjs/fake-timers": "^9.1.2", - "@sinonjs/samsam": "^6.1.1", - "diff": "^5.0.0", - "nise": "^5.1.1", - "supports-color": "^7.2.0" - } - }, - "sinon-chai": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/sinon-chai/-/sinon-chai-3.7.0.tgz", - "integrity": "sha512-mf5NURdUaSdnatJx3uhoBOrY9dtL19fiOtAdT1Azxg3+lNJFiuN0uzaU3xX1LeAfL17kHQhTAJgpsfhbMJMY2g==", - "dev": true, - "requires": {} - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "spawn-wrap": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", - "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", - "dev": true, - "requires": { - "foreground-child": "^2.0.0", - "is-windows": "^1.0.2", - "make-dir": "^3.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "which": "^2.0.1" - } - }, - "stack-trace": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", - "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==" - }, - "stop-iteration-iterator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", - "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", - "dev": true, - "requires": { - "es-errors": "^1.3.0", - "internal-slot": "^1.1.0" - } - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "string.prototype.trim": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", - "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-data-property": "^1.1.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-object-atoms": "^1.0.0", - "has-property-descriptors": "^1.0.2" - } - }, - "string.prototype.trimend": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", - "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - } - }, - "string.prototype.trimstart": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", - "dev": true, - "requires": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true - }, - "table": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz", - "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==", - "dev": true, - "requires": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - }, - "dependencies": { - "ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - } - } - }, - "test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - } - }, - "text-hex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", - "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==" - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true - }, - "triple-beam": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz", - "integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==" - }, - "truncate-utf8-bytes": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", - "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==", - "requires": { - "utf8-byte-length": "^1.0.1" - } - }, - "ts-mocha": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/ts-mocha/-/ts-mocha-10.1.0.tgz", - "integrity": "sha512-T0C0Xm3/WqCuF2tpa0GNGESTBoKZaiqdUP8guNv4ZY316AFXlyidnrzQ1LUrCT0Wb1i3J0zFTgOh/55Un44WdA==", - "dev": true, - "requires": { - "ts-node": "7.0.1", - "tsconfig-paths": "^3.5.0" - } - }, - "ts-node": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-7.0.1.tgz", - "integrity": "sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw==", - "dev": true, - "requires": { - "arrify": "^1.0.0", - "buffer-from": "^1.1.0", - "diff": "^3.1.0", - "make-error": "^1.1.1", - "minimist": "^1.2.0", - "mkdirp": "^0.5.1", - "source-map-support": "^0.5.6", - "yn": "^2.0.0" - }, - "dependencies": { - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", - "dev": true - }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true - }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "requires": { - "minimist": "^1.2.6" - } - } - } - }, - "tsconfig-paths": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", - "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", - "dev": true, - "requires": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true - } - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - } - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - }, - "typed-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", - "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", - "dev": true, - "requires": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.14" - } - }, - "typed-array-byte-length": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", - "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.14" - } - }, - "typed-array-byte-offset": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", - "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", - "dev": true, - "requires": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.15", - "reflect.getprototypeof": "^1.0.9" - } - }, - "typed-array-length": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", - "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", - "dev": true, - "requires": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0", - "reflect.getprototypeof": "^1.0.6" - } - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "typescript": { - "version": "5.9.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz", - "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==", - "dev": true - }, - "unbox-primitive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", - "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", - "dev": true, - "requires": { - "call-bound": "^1.0.3", - "has-bigints": "^1.0.2", - "has-symbols": "^1.1.0", - "which-boxed-primitive": "^1.1.1" - } - }, - "undici": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-7.16.0.tgz", - "integrity": "sha512-QEg3HPMll0o3t2ourKwOeUAZ159Kn9mx5pnzHRQO8+Wixmh88YdZRiIwat0iNzNNXn0yoEtXJqFpyW7eM8BV7g==" - }, - "undici-types": { - "version": "6.19.4", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.4.tgz", - "integrity": "sha512-BiKTnNSkjSEYzxd0X3KQ/ZNoA8/aFlS598kds3PuZ55csLy3fFqGap0aP84Ekb/VWYG5um4MgilNs3kAx4LHMg==" - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - }, - "update-browserslist-db": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz", - "integrity": "sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==", - "dev": true, - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "requires": { - "punycode": "^2.1.0" - } - }, - "utf8-byte-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", - "integrity": "sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA==" - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true - }, - "v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", - "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", - "dev": true, - "requires": { - "is-bigint": "^1.1.0", - "is-boolean-object": "^1.2.1", - "is-number-object": "^1.1.1", - "is-string": "^1.1.1", - "is-symbol": "^1.1.1" - } - }, - "which-builtin-type": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", - "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", - "dev": true, - "requires": { - "call-bound": "^1.0.2", - "function.prototype.name": "^1.1.6", - "has-tostringtag": "^1.0.2", - "is-async-function": "^2.0.0", - "is-date-object": "^1.1.0", - "is-finalizationregistry": "^1.1.0", - "is-generator-function": "^1.0.10", - "is-regex": "^1.2.1", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.1.0", - "which-collection": "^1.0.2", - "which-typed-array": "^1.1.16" - }, - "dependencies": { - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - } - } - }, - "which-collection": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", - "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", - "dev": true, - "requires": { - "is-map": "^2.0.3", - "is-set": "^2.0.3", - "is-weakmap": "^2.0.2", - "is-weakset": "^2.0.3" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==" - }, - "which-typed-array": { - "version": "1.1.19", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", - "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", - "dev": true, - "requires": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "for-each": "^0.3.5", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2" - } - }, - "winston": { - "version": "3.18.3", - "resolved": "https://registry.npmjs.org/winston/-/winston-3.18.3.tgz", - "integrity": "sha512-NoBZauFNNWENgsnC9YpgyYwOVrl2m58PpQ8lNHjV3kosGs7KJ7Npk9pCUE+WJlawVSe8mykWDKWFSVfs3QO9ww==", - "requires": { - "@colors/colors": "^1.6.0", - "@dabh/diagnostics": "^2.0.8", - "async": "^3.2.3", - "is-stream": "^2.0.0", - "logform": "^2.7.0", - "one-time": "^1.0.0", - "readable-stream": "^3.4.0", - "safe-stable-stringify": "^2.3.1", - "stack-trace": "0.0.x", - "triple-beam": "^1.3.0", - "winston-transport": "^4.9.0" - } - }, - "winston-transport": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.9.0.tgz", - "integrity": "sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A==", - "requires": { - "logform": "^2.7.0", - "readable-stream": "^3.6.2", - "triple-beam": "^1.3.0" - } - }, - "word-wrap": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz", - "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==", - "dev": true - }, - "workerpool": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", - "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==", - "dev": true - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" - }, - "yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "dev": true, - "requires": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" - }, - "dependencies": { - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - }, - "decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", - "dev": true - } - } - }, - "yn": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz", - "integrity": "sha512-uTv8J/wiWTgUTg+9vLTi//leUl5vDQS6uii/emeTb2ssY7vl6QWf2fFbIIGjnhjvbdKlU0ed7QPgY1htTC86jQ==", - "dev": true - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true - }, - "zlib": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/zlib/-/zlib-1.0.5.tgz", - "integrity": "sha512-40fpE2II+Cd3k8HWTWONfeKE2jL+P42iWJ1zzps5W51qcTsOUKM5Q5m2PFb0CLxlmFAaUuUdJGc3OfZy947v0w==", - "dev": true } } } diff --git a/package.json b/package.json index 5f8c49460..735ba17ab 100644 --- a/package.json +++ b/package.json @@ -7,8 +7,8 @@ "a0deploy": "lib/index.js" }, "scripts": { - "lint:fix": "eslint --fix --ignore-path .eslintignore --ignore-pattern webpack . && kacl lint", - "lint": "eslint --ignore-path .eslintignore --ignore-pattern webpack . && kacl lint", + "lint:fix": "eslint --fix . && kacl lint", + "lint": "eslint . && kacl lint", "format": "npx prettier --write .", "test": "ts-mocha -p tsconfig.json --recursive 'test/**/*.test*' --exclude 'test/e2e/*' --timeout 20000", "test:e2e:node-module": "ts-mocha -p tsconfig.json --recursive 'test/e2e/*.test*' --timeout 120000", @@ -33,10 +33,10 @@ "homepage": "https://github.com/auth0/auth0-deploy-cli#readme", "dependencies": { "ajv": "^6.12.6", - "auth0": "^4.36.0", + "auth0": "^5.1.0", "dot-prop": "^5.3.0", "fs-extra": "^10.1.0", - "js-yaml": "^4.1.0", + "js-yaml": "^4.1.1", "lodash": "^4.17.21", "mkdirp": "^1.0.4", "nconf": "^0.13.0", @@ -51,13 +51,15 @@ "@types/lodash": "^4.17.20", "@types/mocha": "^10.0.10", "@types/nconf": "^0.10.7", - "@typescript-eslint/parser": "^5.62.0", + "@eslint/js": "^9.39.1", + "@typescript-eslint/eslint-plugin": "^8.47.0", + "@typescript-eslint/parser": "^8.47.0", "chai": "^4.5.0", "chai-as-promised": "^7.1.2", - "eslint": "^7.32.0", - "eslint-config-airbnb-base": "^15.0.0", + "eslint": "^9.39.1", "eslint-config-prettier": "^10.1.8", "eslint-plugin-import": "^2.32.0", + "globals": "^15.12.0", "husky": "^9.1.7", "kacl": "^1.1.1", "mocha": "^10.8.2", @@ -71,11 +73,10 @@ "sinon": "^13.0.2", "sinon-chai": "^3.7.0", "ts-mocha": "^10.1.0", - "typescript": "^5.9.2", - "zlib": "^1.0.5" + "typescript": "^5.9.3" }, "engines": { - "node": ">=20.18.1" + "node": ">=20.19.0" }, "keywords": [ "auth0", diff --git a/src/context/directory/handlers/clientGrants.ts b/src/context/directory/handlers/clientGrants.ts index ebea6de76..430abe207 100644 --- a/src/context/directory/handlers/clientGrants.ts +++ b/src/context/directory/handlers/clientGrants.ts @@ -1,6 +1,5 @@ import path from 'path'; import fs from 'fs-extra'; -import { Client, ResourceServer } from 'auth0'; import { constants, keywordReplace } from '../../../tools'; import { @@ -17,6 +16,8 @@ import { ParsedAsset } from '../../../types'; import { ClientGrant } from '../../../tools/auth0/handlers/clientGrants'; import { paginate } from '../../../tools/auth0/client'; import { doesHaveKeywordMarker } from '../../../keywordPreservation'; +import { ResourceServer } from '../../../tools/auth0/handlers/resourceServers'; +import { Client } from '../../../tools/auth0/handlers/clients'; type ParsedClientGrants = ParsedAsset<'clientGrants', ClientGrant[]>; @@ -51,14 +52,14 @@ async function dump(context: DirectoryContext): Promise { if (clientGrants.length === 0) return; const allResourceServers = await paginate( - context.mgmtClient.resourceServers.getAll, + context.mgmtClient.resourceServers.list, { paginate: true, include_totals: true, } ); - const allClients = await paginate(context.mgmtClient.clients.getAll, { + const allClients = await paginate(context.mgmtClient.clients.list, { paginate: true, include_totals: true, }); @@ -80,7 +81,9 @@ async function dump(context: DirectoryContext): Promise { })(); // Convert audience to the API name for readability - const apiName = (grantAudience: string) => { + const apiName = (grantAudience: string | undefined) => { + if (!grantAudience) return grantAudience; + const associatedAPI = allResourceServers.find( (resourceServer) => resourceServer.identifier === grantAudience ); diff --git a/src/context/directory/handlers/resourceServers.ts b/src/context/directory/handlers/resourceServers.ts index 6b48bb2d6..086f12881 100644 --- a/src/context/directory/handlers/resourceServers.ts +++ b/src/context/directory/handlers/resourceServers.ts @@ -1,4 +1,3 @@ -import { Client, ResourceServer } from 'auth0'; import path from 'path'; import fs from 'fs-extra'; import { constants } from '../../../tools'; @@ -14,6 +13,8 @@ import { DirectoryHandler } from '.'; import DirectoryContext from '..'; import { ParsedAsset } from '../../../types'; import { paginate } from '../../../tools/auth0/client'; +import { ResourceServer } from '../../../tools/auth0/handlers/resourceServers'; +import { Client } from '../../../tools/auth0/handlers/clients'; type ParsedResourceServers = ParsedAsset<'resourceServers', ResourceServer[]>; @@ -47,7 +48,7 @@ async function dump(context: DirectoryContext): Promise { fs.ensureDirSync(resourceServersFolder); if (clients === undefined) { - clients = await paginate(context.mgmtClient.clients.getAll, { + clients = await paginate(context.mgmtClient.clients.list, { paginate: true, include_totals: true, }); diff --git a/src/context/directory/handlers/selfServiceProfiles.ts b/src/context/directory/handlers/selfServiceProfiles.ts index 41f0a1cec..ae9f65ce3 100644 --- a/src/context/directory/handlers/selfServiceProfiles.ts +++ b/src/context/directory/handlers/selfServiceProfiles.ts @@ -67,7 +67,6 @@ async function dump(context: DirectoryContext): Promise { profile.user_attribute_profile_id = p?.name || profile.user_attribute_profile_id; if (profile.user_attributes?.length === 0) { - // @ts-expect-error - ignore type error here as we know that user_attributes can be removed. delete profile.user_attributes; } } diff --git a/src/context/directory/handlers/triggers.ts b/src/context/directory/handlers/triggers.ts index b37b8b213..480524ea8 100644 --- a/src/context/directory/handlers/triggers.ts +++ b/src/context/directory/handlers/triggers.ts @@ -8,7 +8,7 @@ import { getFiles, existsMustBeDir, loadJSON } from '../../../utils'; import log from '../../../logger'; import { Asset, ParsedAsset } from '../../../types'; -type ParsedTriggers = ParsedAsset<'triggers', Asset[]>; +type ParsedTriggers = ParsedAsset<'triggers', Asset>; function parse(context: DirectoryContext): ParsedTriggers { const triggersFolder = path.join(context.filePath, constants.TRIGGERS_DIRECTORY); diff --git a/src/context/directory/handlers/userAttributeProfiles.ts b/src/context/directory/handlers/userAttributeProfiles.ts index 7b01a6c89..e140be8bb 100644 --- a/src/context/directory/handlers/userAttributeProfiles.ts +++ b/src/context/directory/handlers/userAttributeProfiles.ts @@ -1,11 +1,11 @@ import path from 'path'; import fs from 'fs-extra'; -import { UserAttributeProfile } from 'auth0'; import { constants } from '../../../tools'; import DirectoryContext from '..'; import { dumpJSON, existsMustBeDir, getFiles, loadJSON, sanitize } from '../../../utils'; import { DirectoryHandler } from '.'; import { ParsedAsset } from '../../../types'; +import { UserAttributeProfile } from '../../../tools/auth0/handlers/userAttributeProfiles'; type ParsedUserAttributeProfiles = ParsedAsset< 'userAttributeProfiles', diff --git a/src/context/index.ts b/src/context/index.ts index 1d846e990..cb61672ca 100644 --- a/src/context/index.ts +++ b/src/context/index.ts @@ -202,10 +202,10 @@ export const setupContext = async ( const mgmtClient = new ManagementClient({ domain: config.AUTH0_DOMAIN, token: accessToken, - retry: { maxRetries: config.AUTH0_API_MAX_RETRIES || 10, enabled: true }, headers: { 'User-agent': `deploy-cli/${packageVersion} (node.js/${process.version.replace('v', '')})`, }, + maxRetries: config.AUTH0_API_MAX_RETRIES || 10, }); const inputFile = config.AUTH0_INPUT_FILE; diff --git a/src/context/yaml/handlers/clientGrants.ts b/src/context/yaml/handlers/clientGrants.ts index 5c14c9851..fcf6d28ea 100644 --- a/src/context/yaml/handlers/clientGrants.ts +++ b/src/context/yaml/handlers/clientGrants.ts @@ -1,10 +1,10 @@ -import { Client } from 'auth0'; import { convertClientIdToName } from '../../../utils'; import { YAMLHandler } from '.'; import YAMLContext from '..'; import { ParsedAsset } from '../../../types'; import { ClientGrant } from '../../../tools/auth0/handlers/clientGrants'; import { paginate } from '../../../tools/auth0/client'; +import { Client } from '../../../tools/auth0/handlers/clients'; type ParsedClientGrants = ParsedAsset<'clientGrants', ClientGrant[]>; @@ -25,7 +25,7 @@ async function dump(context: YAMLContext): Promise { if (!clientGrants) return { clientGrants: null }; if (clients === undefined) { - clients = await paginate(context.mgmtClient.clients.getAll, { + clients = await paginate(context.mgmtClient.clients.list, { paginate: true, include_totals: true, }); diff --git a/src/context/yaml/handlers/prompts.ts b/src/context/yaml/handlers/prompts.ts index aa20e0f62..3a1392286 100644 --- a/src/context/yaml/handlers/prompts.ts +++ b/src/context/yaml/handlers/prompts.ts @@ -1,6 +1,6 @@ import path from 'path'; import { ensureDirSync, writeFileSync } from 'fs-extra'; -import { GetRendering200Response } from 'auth0'; +import { Management } from 'auth0'; import { YAMLHandler } from '.'; import YAMLContext from '..'; import { constants } from '../../../tools'; @@ -22,9 +22,9 @@ const getPromptsDirectory = (filePath: string) => path.join(filePath, constants. const loadScreenRenderers = ( context: YAMLContext, screenRenderArray: ScreenRenderYAML -): GetRendering200Response[] => { +): Management.GetAculResponseContent[] => { // Array to store loaded renderers - const loadedRenderers: GetRendering200Response[] = []; + const loadedRenderers: Management.GetAculResponseContent[] = []; screenRenderArray.forEach((promptEntry) => { // Get the prompt (there will be only one key in each entry) diff --git a/src/context/yaml/handlers/resourceServers.ts b/src/context/yaml/handlers/resourceServers.ts index 81a62518d..9f5f9250e 100644 --- a/src/context/yaml/handlers/resourceServers.ts +++ b/src/context/yaml/handlers/resourceServers.ts @@ -1,9 +1,10 @@ -import { Client, ResourceServer } from 'auth0'; import { YAMLHandler } from '.'; import YAMLContext from '..'; import { ParsedAsset } from '../../../types'; import { paginate } from '../../../tools/auth0/client'; import { convertClientIdToName } from '../../../utils'; +import { ResourceServer } from '../../../tools/auth0/handlers/resourceServers'; +import { Client } from '../../../tools/auth0/handlers/clients'; type ParsedResourceServers = ParsedAsset<'resourceServers', ResourceServer[]>; @@ -16,7 +17,7 @@ async function dumpAndParse(context: YAMLContext): Promise(context.mgmtClient.clients.getAll, { + clients = await paginate(context.mgmtClient.clients.list, { paginate: true, include_totals: true, }); diff --git a/src/context/yaml/handlers/selfServiceProfiles.ts b/src/context/yaml/handlers/selfServiceProfiles.ts index f08541bd2..0c2dcde05 100644 --- a/src/context/yaml/handlers/selfServiceProfiles.ts +++ b/src/context/yaml/handlers/selfServiceProfiles.ts @@ -37,7 +37,6 @@ async function dump(context: YAMLContext): Promise { profile.user_attribute_profile_id = p?.name || profile.user_attribute_profile_id; if (profile.user_attributes?.length === 0) { - // @ts-expect-error - ignore type error here as we know that user_attributes can be removed. delete profile.user_attributes; } } diff --git a/src/context/yaml/handlers/triggers.ts b/src/context/yaml/handlers/triggers.ts index e71949d0d..3c3aa2537 100644 --- a/src/context/yaml/handlers/triggers.ts +++ b/src/context/yaml/handlers/triggers.ts @@ -2,7 +2,7 @@ import { YAMLHandler } from '.'; import YAMLContext from '..'; import { Asset, ParsedAsset } from '../../../types'; -type ParsedTriggers = ParsedAsset<'triggers', Asset[]>; +type ParsedTriggers = ParsedAsset<'triggers', Asset>; async function parse(context: YAMLContext): Promise { // Load the script file for each action diff --git a/src/context/yaml/handlers/userAttributeProfiles.ts b/src/context/yaml/handlers/userAttributeProfiles.ts index 42e0b4516..37f4bda4d 100644 --- a/src/context/yaml/handlers/userAttributeProfiles.ts +++ b/src/context/yaml/handlers/userAttributeProfiles.ts @@ -1,6 +1,6 @@ -import { UserAttributeProfile } from 'auth0'; import { YAMLHandler } from '.'; import YAMLContext from '..'; +import { UserAttributeProfile } from '../../../tools/auth0/handlers/userAttributeProfiles'; import { ParsedAsset } from '../../../types'; type ParsedUserAttributeProfiles = ParsedAsset< diff --git a/src/index.ts b/src/index.ts index d7f3ce55a..6fbb8a321 100644 --- a/src/index.ts +++ b/src/index.ts @@ -85,7 +85,14 @@ if (require.main === module) { } // Export commands to be used programmatically -export default { +// Explicit type to avoid non-portable type inference +const cliCommands: { + deploy: typeof importCMD; + dump: typeof exportCMD; + import: typeof importCMD; + export: typeof exportCMD; + tools: typeof tools; +} = { deploy: importCMD, dump: exportCMD, import: importCMD, @@ -93,5 +100,7 @@ export default { tools, }; +export default cliCommands; + export const dump = exportCMD; export const deploy = importCMD; diff --git a/src/keywordPreservation.ts b/src/keywordPreservation.ts index dbbefb86d..3d06c1494 100644 --- a/src/keywordPreservation.ts +++ b/src/keywordPreservation.ts @@ -15,13 +15,21 @@ import log from './logger'; Original Github Issue: https://github.com/auth0/auth0-deploy-cli/issues/328 */ -export const doesHaveKeywordMarker = (string: string, keywordMappings: KeywordMappings): boolean => - !Object.keys(keywordMappings).every((keyword) => { +export const doesHaveKeywordMarker = ( + string: string | undefined, + keywordMappings: KeywordMappings +): boolean => { + if (string === undefined) { + return false; + } + + return !Object.keys(keywordMappings).every((keyword) => { const hasArrayMarker = keywordReplaceArrayRegExp(keyword).test(string); const hasStringMarker = keywordReplaceStringRegExp(keyword).test(string); return !hasArrayMarker && !hasStringMarker; }); +}; export const getPreservableFieldsFromAssets = ( asset: object, diff --git a/src/tools/auth0/client.ts b/src/tools/auth0/client.ts index 439ca5e8e..3226b5240 100644 --- a/src/tools/auth0/client.ts +++ b/src/tools/auth0/client.ts @@ -11,6 +11,14 @@ import { PagePaginationParams, } from '../../types'; +type JSONApiResponseWithPage = JSONApiResponse & { + response: { + start: number; + limit: number; + total: number; + }; +}; + const API_CONCURRENCY = 3; // To ensure a complete deployment, limit the API requests generated to be 80% of the capacity // https://auth0.com/docs/policies/rate-limits#management-api-v2 @@ -19,21 +27,36 @@ const API_FREQUENCY_PER_SECOND = 8; const MAX_PAGE_SIZE = 100; function getEntity(rsp: ApiResponse): Asset[] { - const found = Object.values(rsp).filter((a) => Array.isArray(a)); - if (Array.isArray(found) && found.length === 1) { - return found[0] as Asset[]; + // If the response is already an array, return it directly (v5 SDK behavior) + if (Array.isArray(rsp)) { + return rsp as Asset[]; } - // Handle empty response case - return empty array instead of throwing error - if (Array.isArray(found) && found.length === 0) { - return []; + + // If the response is an object, look for array properties (legacy behavior) + if (typeof rsp === 'object' && rsp !== null) { + const found = Object.values(rsp).filter((a) => Array.isArray(a)); + if (found.length === 1) { + return found[0] as Asset[]; + } + // If we can't find exactly one array, but there's a property that looks like it contains the data + // Try some common property names from Auth0 SDK v5 + if ('data' in rsp && Array.isArray(rsp.data)) { + return rsp.data as Asset[]; + } + + // Handle empty response case - return empty array instead of throwing error + if (Array.isArray(found) && found.length === 0) { + return []; + } } + throw new Error('There was an error trying to find the entity within paginate'); } function checkpointPaginator( client: Auth0APIClient, target, - name: 'getAll' + name: 'list' ): (arg0: CheckpointPaginationParams) => Promise { return async function (...args: [CheckpointPaginationParams]) { const data: Asset[] = []; @@ -41,40 +64,30 @@ function checkpointPaginator( // remove the _checkpoint_ flag const { checkpoint, ...newArgs } = _.cloneDeep(args[0]); - // fetch the total to validate records match - const total = - ( - await client.pool - .addSingleTask({ - data: newArgs, - generator: (requestArgs) => target[name](requestArgs), - }) - .promise() - ).data?.total || 0; - - let done = false; - // use checkpoint pagination to allow fetching 1000+ results - newArgs.take = 50; - - while (!done) { - const rsp = await client.pool + // Set appropriate page size for checkpoint pagination + newArgs.take = newArgs.take || 50; // Default to 50 + + let currentPage = await client.pool + .addSingleTask({ + data: newArgs, + generator: (requestArgs) => target[name](requestArgs), + }) + .promise(); + + // Add first page data + data.push(...(currentPage.data || [])); + + // Continue fetching while there are more pages + while (currentPage.hasNextPage && currentPage.hasNextPage()) { + const pageToFetch = currentPage; // Capture the current page reference + currentPage = await client.pool .addSingleTask({ - data: newArgs, - generator: (requestArgs) => target[name](requestArgs), + data: null, + generator: () => pageToFetch.getNextPage(), }) .promise(); - data.push(...getEntity(rsp.data)); - if (!rsp.data.next) { - done = true; - } else { - newArgs.from = rsp.data.next; - } - } - - // Not all entities return total, so only validate when we have a total - if (total > 0 && data.length !== total) { - throw new Error('Fail to load data from tenant'); + data.push(...(currentPage.data || [])); } return data; @@ -84,7 +97,7 @@ function checkpointPaginator( function pagePaginator( client: Auth0APIClient, target, - name: 'getAll' + name: 'list' ): (arg0: PagePaginationParams) => Promise { return async function (...args: [PagePaginationParams]): Promise { // Where the entity data will be collected @@ -100,7 +113,7 @@ function pagePaginator( delete newArgs[0].paginate; // Run the first request to get the total number of entity items - const rsp: JSONApiResponse = await client.pool + const rsp: JSONApiResponseWithPage = await client.pool .addSingleTask({ data: _.cloneDeep(newArgs), generator: (pageArgs) => target[name](...pageArgs), @@ -108,7 +121,16 @@ function pagePaginator( .promise(); data.push(...getEntity(rsp.data)); - const total = rsp.data?.total || 0; + // In Auth0 SDK v5, the total is not provided + const total = rsp.response?.total || 0; + + // If total is 0 but we have data, it likely means the response doesn't include pagination info + // In this case, we should assume this is all the data and skip pagination + const initialDataLength = getEntity(rsp.data).length; + if (total === 0 && initialDataLength > 0) { + return data; // Return what we have without pagination + } + const pagesLeft = Math.ceil(total / perPage) - 1; // Setup pool to get the rest of the pages if (pagesLeft > 0) { @@ -126,7 +148,9 @@ function pagePaginator( data.push(...flatten(pages)); - if (data.length !== total) { + // Only validate total if it was provided (non-zero) + // In Auth0 SDK v5,endpoints don't provide total count + if (total > 0 && data.length !== total) { throw new Error('Fail to load data from tenant'); } } @@ -138,7 +162,7 @@ function pagePaginator( function pagedManager(client: Auth0APIClient, manager: Auth0APIClient) { return new Proxy(manager, { get: function (target: Auth0APIClient, name: string, receiver: unknown) { - if (name === 'getAll') { + if (name === 'list') { return async function (...args: [CheckpointPaginationParams | PagePaginationParams]) { switch (true) { case args[0] && typeof args[0] === 'object' && args[0].checkpoint: @@ -168,16 +192,20 @@ function pagedManager(client: Auth0APIClient, manager: Auth0APIClient) { // Warp around the ManagementClient and detect when requesting specific pages to return all export default function pagedClient(client: ManagementClient): Auth0APIClient { - const clientWithPooling: Auth0APIClient = { - ...client, - pool: new PromisePoolExecutor({ - concurrencyLimit: API_CONCURRENCY, - frequencyLimit: API_FREQUENCY_PER_SECOND, - frequencyWindow: 1000, // 1 sec - }), - } as Auth0APIClient; - - return pagedManager(clientWithPooling, clientWithPooling); + // Create a new object that inherits from the original client + const clientWithPooling = Object.create(Object.getPrototypeOf(client)); + + // Copy all enumerable properties from the original client + Object.assign(clientWithPooling, client); + + // Add the pool property + clientWithPooling.pool = new PromisePoolExecutor({ + concurrencyLimit: API_CONCURRENCY, + frequencyLimit: API_FREQUENCY_PER_SECOND, + frequencyWindow: 1000, // 1 sec + }); + + return pagedManager(clientWithPooling as Auth0APIClient, clientWithPooling as Auth0APIClient); } // eslint-disable-next-line no-unused-vars @@ -185,7 +213,7 @@ export async function paginate( fetchFunc: (...paginateArgs: any) => any, args: PagePaginationParams | CheckpointPaginationParams ): Promise { - // override default .getAll() behaviour using pagedClient + // override default .list() behaviour using pagedClient const allItems = (await fetchFunc(args)) as unknown as T[]; return allItems; } diff --git a/src/tools/auth0/handlers/actions.ts b/src/tools/auth0/handlers/actions.ts index eee14ee6f..cf3ceadf8 100644 --- a/src/tools/auth0/handlers/actions.ts +++ b/src/tools/auth0/handlers/actions.ts @@ -1,5 +1,5 @@ -import _ from 'lodash'; -import { GetActions200ResponseActionsInner, PostActionRequest } from 'auth0'; +import { get } from 'lodash'; +import { Management } from 'auth0'; import DefaultAPIHandler, { order } from './default'; import log from '../../../logger'; import { areArraysEquals, sleep } from '../../utils'; @@ -8,31 +8,12 @@ import { paginate } from '../client'; const MAX_ACTION_DEPLOY_RETRY_ATTEMPTS = 60; // 60 * 2s => 2 min timeout -export type Action = { - id: string; - name: string; - created_at: string; - updated_at: string; +export type Action = Management.Action & { deployed?: boolean; - supported_triggers: { - id: string; - version: string; - status?: string; - }[]; - code?: string; - dependencies?: []; - runtime?: string; - status?: string; - secrets?: { - name: string; - value: string; - }[]; - all_changes_deployed?: boolean; - installed_integration_id?: string; - integration?: Object; }; +type ActionCreate = Management.CreateActionRequestContent; -type PostActionRequestWithId = PostActionRequest & { +type CreateActionRequestWithId = ActionCreate & { id: string; }; @@ -88,7 +69,7 @@ export const schema = { }; function isActionsDisabled(err) { - const errorBody = _.get(err, 'originalError.response.body') || {}; + const errorBody = get(err, 'originalError.response.body') || {}; return err.statusCode === 403 && errorBody.errorCode === 'feature_not_enabled'; } @@ -98,21 +79,23 @@ export function isMarketplaceAction(action: Action): boolean { } export default class ActionHandler extends DefaultAPIHandler { - existing: GetActions200ResponseActionsInner[] | null; + existing: Action[] | null; constructor(options: DefaultAPIHandler) { super({ ...options, type: 'actions', functions: { - create: (action: PostActionRequestWithId) => this.createAction(action), - delete: (action: Action) => this.deleteAction(action), + create: (action: CreateActionRequestWithId) => this.createAction(action), + update: ({ id }: { id: string }, action: Management.UpdateActionRequestContent) => + this.updateAction(id, action), + delete: (actionId: string) => this.deleteAction(actionId), }, stripUpdateFields: ['deployed', 'status'], }); } - async createAction(action: PostActionRequestWithId) { + async createAction(action: CreateActionRequestWithId) { // Strip the deployed flag const addAction = { ...action }; @@ -123,19 +106,25 @@ export default class ActionHandler extends DefaultAPIHandler { delete addAction.status; } - const { data: createdAction } = await this.client.actions.create(addAction); + const createdAction = await this.client.actions.create(addAction); // Add the action id so we can deploy it later - action.id = createdAction.id; + if (createdAction?.id) { + action.id = createdAction.id; + } return createdAction; } - async deleteAction(action: Action) { + async updateAction(actionId: string, action: Management.UpdateActionRequestContent) { + return this.client.actions.update(actionId, action); + } + + async deleteAction(actionId: string) { if (!this.client.actions || typeof this.client.actions.delete !== 'function') { return []; } - return this.client.actions.delete({ id: action.id, force: true }); + return this.client.actions.delete(actionId, { force: true }); } objString(action) { @@ -160,7 +149,7 @@ export default class ActionHandler extends DefaultAPIHandler { async deployAction(action) { try { - await this.client.actions.deploy({ id: action.id }); + await this.client.actions.deploy(action.id); } catch (err) { // Retry if pending build. if (err.message && err.message.includes("must be in the 'built' state")) { @@ -209,18 +198,15 @@ export default class ActionHandler extends DefaultAPIHandler { async getType(): Promise { if (this.existing) return this.existing; - if (!this.client.actions || typeof this.client.actions.getAll !== 'function') { + if (!this.client.actions || typeof this.client.actions.list !== 'function') { return []; } // Actions API does not support include_totals param like the other paginate API's. // So we set it to false otherwise it will fail with "Additional properties not allowed: include_totals" try { - const actions = await paginate( - this.client.actions.getAll, - { - paginate: true, - } - ); + const actions = await paginate(this.client.actions.list, { + paginate: true, + }); this.existing = actions; return actions; diff --git a/src/tools/auth0/handlers/attackProtection.ts b/src/tools/auth0/handlers/attackProtection.ts index ae6f095b4..112f087be 100644 --- a/src/tools/auth0/handlers/attackProtection.ts +++ b/src/tools/auth0/handlers/attackProtection.ts @@ -240,9 +240,9 @@ export default class AttackProtectionHandler extends DefaultAPIHandler { const [breachedPasswordDetection, bruteForceProtection, suspiciousIpThrottling] = await Promise.all([ - this.client.attackProtection.getBreachedPasswordDetectionConfig(), - this.client.attackProtection.getBruteForceConfig(), - this.client.attackProtection.getSuspiciousIpThrottlingConfig(), + this.client.attackProtection.breachedPasswordDetection.get(), + this.client.attackProtection.bruteForceProtection.get(), + this.client.attackProtection.suspiciousIpThrottling.get(), ]); let botDetection: Asset | null = null; @@ -250,8 +250,8 @@ export default class AttackProtectionHandler extends DefaultAPIHandler { try { [botDetection, captcha] = await Promise.all([ - this.client.attackProtection.getBotDetectionConfig(), - this.client.attackProtection.getCaptchaConfig(), + this.client.attackProtection.botDetection.get(), + this.client.attackProtection.captcha.get(), ]); } catch (err) { if (err.statusCode === 403) { @@ -262,17 +262,17 @@ export default class AttackProtectionHandler extends DefaultAPIHandler { } const attackProtection: AttackProtection = { - breachedPasswordDetection: breachedPasswordDetection.data, - bruteForceProtection: bruteForceProtection.data, - suspiciousIpThrottling: suspiciousIpThrottling.data, + breachedPasswordDetection: breachedPasswordDetection, + bruteForceProtection: bruteForceProtection, + suspiciousIpThrottling: suspiciousIpThrottling, }; - if (botDetection?.data) { - attackProtection.botDetection = botDetection.data; + if (botDetection) { + attackProtection.botDetection = botDetection; } - if (captcha?.data) { - attackProtection.captcha = captcha.data; + if (captcha) { + attackProtection.captcha = captcha; } this.existing = attackProtection; @@ -290,14 +290,12 @@ export default class AttackProtectionHandler extends DefaultAPIHandler { const updates: Promise[] = []; if (attackProtection.botDetection && Object.keys(attackProtection.botDetection).length) { - updates.push( - this.client.attackProtection.updateBotDetectionConfig(attackProtection.botDetection) - ); + updates.push(this.client.attackProtection.botDetection.update(attackProtection.botDetection)); } if (attackProtection.breachedPasswordDetection) { updates.push( - this.client.attackProtection.updateBreachedPasswordDetectionConfig( + this.client.attackProtection.breachedPasswordDetection.update( attackProtection.breachedPasswordDetection ) ); @@ -323,18 +321,20 @@ export default class AttackProtectionHandler extends DefaultAPIHandler { attackProtection.captcha = captcha; - updates.push(this.client.attackProtection.updateCaptchaConfig(attackProtection.captcha)); + updates.push(this.client.attackProtection.captcha.update(attackProtection.captcha)); } if (attackProtection.bruteForceProtection) { updates.push( - this.client.attackProtection.updateBruteForceConfig(attackProtection.bruteForceProtection) + this.client.attackProtection.bruteForceProtection.update( + attackProtection.bruteForceProtection + ) ); } if (attackProtection.suspiciousIpThrottling) { updates.push( - this.client.attackProtection.updateSuspiciousIpThrottlingConfig( + this.client.attackProtection.suspiciousIpThrottling.update( attackProtection.suspiciousIpThrottling ) ); diff --git a/src/tools/auth0/handlers/branding.ts b/src/tools/auth0/handlers/branding.ts index 8f8471435..9faa649cd 100644 --- a/src/tools/auth0/handlers/branding.ts +++ b/src/tools/auth0/handlers/branding.ts @@ -1,4 +1,4 @@ -import { CustomDomain, GetBranding200Response, GetUniversalLogin200ResponseOneOf } from 'auth0'; +import { Management } from 'auth0'; import DefaultHandler, { order } from './default'; import constants from '../../constants'; import log from '../../../logger'; @@ -34,42 +34,34 @@ export default class BrandingHandler extends DefaultHandler { let branding = {}; try { - // in case client version does not support branding - if (this.client.branding && typeof this.client.branding.getSettings === 'function') { - const response = await this.client.branding.getSettings(); - branding = response.data as GetBranding200Response; - } - - // in case client version does not custom domains - if (this.client.customDomains && typeof this.client.customDomains.getAll === 'function') { - let { data: customDomains } = await this.client.customDomains.getAll(); - - customDomains = customDomains as CustomDomain[]; - - // templates are only supported if there's custom domains. - if (customDomains && customDomains.length) { - const { data: payload } = await this.client.branding.getUniversalLoginTemplate(); - - if (Object.keys(branding).length === 0) { - branding = { - templates: [ - { - template: constants.UNIVERSAL_LOGIN_TEMPLATE, - body: (payload as GetUniversalLogin200ResponseOneOf).body, - }, - ], - }; - } else { - branding = { - ...branding, - templates: [ - { - template: constants.UNIVERSAL_LOGIN_TEMPLATE, - body: (payload as GetUniversalLogin200ResponseOneOf).body, - }, - ], - }; - } + branding = await this.client.branding.get(); + + const customDomains = await this.client.customDomains.list(); + + // templates are only supported if there's custom domains. + if (customDomains && customDomains.length) { + let payload = await this.client.branding.templates.getUniversalLogin(); + payload = payload as Management.GetUniversalLoginTemplate; + + if (Object.keys(branding).length === 0) { + branding = { + templates: [ + { + template: constants.UNIVERSAL_LOGIN_TEMPLATE, + body: payload.body, + }, + ], + }; + } else { + branding = { + ...branding, + templates: [ + { + template: constants.UNIVERSAL_LOGIN_TEMPLATE, + body: payload.body, + }, + ], + }; } } @@ -97,12 +89,12 @@ export default class BrandingHandler extends DefaultHandler { const { templates, ...brandingSettings } = assets.branding; if (brandingSettings.logo_url === '') { - //Sometimes blank logo_url returned by API but is invalid on import. See: DXCDT-240 + // Sometimes blank logo_url returned by API but is invalid on import. See: DXCDT-240 delete brandingSettings.logo_url; } if (brandingSettings && Object.keys(brandingSettings).length) { - await this.client.branding.updateSettings(brandingSettings); + await this.client.branding.update(brandingSettings); this.updated += 1; this.didUpdate(brandingSettings); } @@ -125,7 +117,9 @@ export default class BrandingHandler extends DefaultHandler { (t) => t.template === constants.UNIVERSAL_LOGIN_TEMPLATE ); if (templateDefinition && templateDefinition.body) { - await this.client.branding.setUniversalLoginTemplate({ template: templateDefinition.body }); + await this.client.branding.templates.updateUniversalLogin({ + template: templateDefinition.body, + }); this.updated += 1; this.didUpdate(templates); } diff --git a/src/tools/auth0/handlers/clientGrants.ts b/src/tools/auth0/handlers/clientGrants.ts index 47f80e9ad..a707c3d5a 100644 --- a/src/tools/auth0/handlers/clientGrants.ts +++ b/src/tools/auth0/handlers/clientGrants.ts @@ -1,9 +1,10 @@ -import { Client, ClientGrantSubjectTypeEnum } from 'auth0'; +import { Management } from 'auth0'; import DefaultHandler, { order } from './default'; import { convertClientNamesToIds } from '../../utils'; import { Assets, CalculatedChanges } from '../../../types'; import DefaultAPIHandler from './default'; import { paginate } from '../client'; +import { Client } from './clients'; export const schema = { type: 'array', @@ -19,7 +20,7 @@ export const schema = { }, subject_type: { type: 'string', - enum: Object.values(ClientGrantSubjectTypeEnum), + enum: Object.values(Management.ClientGrantSubjectTypeEnum), description: 'The subject type for this grant.', }, authorization_details_types: { @@ -35,13 +36,7 @@ export const schema = { }, }; -export type ClientGrant = { - client_id: string; - audience: string; - scope: string[]; - subject_type: ClientGrantSubjectTypeEnum; - authorization_details_types: string[]; -}; +export type ClientGrant = Management.ClientGrantResponseContent; export default class ClientGrantsHandler extends DefaultHandler { existing: ClientGrant[] | null; @@ -54,6 +49,12 @@ export default class ClientGrantsHandler extends DefaultHandler { // @ts-ignore because not sure why two-dimensional array passed in identifiers: ['id', ['client_id', 'audience']], stripUpdateFields: ['audience', 'client_id', 'subject_type'], + functions: { + update: async ( + { id }: { id: string }, + bodyParams: Management.UpdateClientGrantRequestContent + ) => this.client.clientGrants.update(id, bodyParams), + }, }); } @@ -66,9 +67,8 @@ export default class ClientGrantsHandler extends DefaultHandler { return this.existing; } - const clientGrants = await paginate(this.client.clientGrants.getAll, { + const clientGrants = await paginate(this.client.clientGrants.list, { paginate: true, - include_totals: true, }); this.existing = clientGrants; @@ -90,9 +90,8 @@ export default class ClientGrantsHandler extends DefaultHandler { // Do nothing if not set if (!clientGrants) return; - const clients = await paginate(this.client.clients.getAll, { + const clients = await paginate(this.client.clients.list, { paginate: true, - include_totals: true, }); const excludedClientsByNames = (assets.exclude && assets.exclude.clients) || []; const excludedClients = convertClientNamesToIds(excludedClientsByNames, clients); @@ -113,6 +112,7 @@ export default class ClientGrantsHandler extends DefaultHandler { clientGrants: formatted, }); + // eslint-disable-next-line camelcase const filterGrants = (list: { client_id: string }[]) => { if (excludedClients.length) { return list.filter( diff --git a/src/tools/auth0/handlers/clients.ts b/src/tools/auth0/handlers/clients.ts index 85947c088..197b50ad4 100644 --- a/src/tools/auth0/handlers/clients.ts +++ b/src/tools/auth0/handlers/clients.ts @@ -1,3 +1,4 @@ +import { Management } from 'auth0'; import { Assets } from '../../../types'; import { paginate } from '../client'; import DefaultAPIHandler from './default'; @@ -178,14 +179,7 @@ export const schema = { }, }; -export type Client = { - client_id: string; - name: string; - app_type?: string; - resource_server_identifier?: string; - custom_login_page?: string; - custom_login_page_on?: boolean; -}; +export type Client = Management.Client; export default class ClientHandler extends DefaultAPIHandler { existing: Client[]; @@ -206,6 +200,13 @@ export default class ClientHandler extends DefaultAPIHandler { 'jwt_configuration.secret_encoded', 'resource_server_identifier', ], + functions: { + update: async ( + // eslint-disable-next-line camelcase + { client_id }: { client_id: string }, + bodyParams: Management.UpdateClientRequestContent + ) => this.client.clients.update(client_id, bodyParams), + }, }); } @@ -270,9 +271,8 @@ export default class ClientHandler extends DefaultAPIHandler { async getType() { if (this.existing) return this.existing; - const clients = await paginate(this.client.clients.getAll, { + const clients = await paginate(this.client.clients.list, { paginate: true, - include_totals: true, is_global: false, }); diff --git a/src/tools/auth0/handlers/connections.ts b/src/tools/auth0/handlers/connections.ts index ddf2d1620..5f9eca789 100644 --- a/src/tools/auth0/handlers/connections.ts +++ b/src/tools/auth0/handlers/connections.ts @@ -1,6 +1,6 @@ import dotProp from 'dot-prop'; -import _ from 'lodash'; -import { Client, Connection, GetConnectionsStrategyEnum, PatchClientsRequestInner } from 'auth0'; +import { chunk, keyBy } from 'lodash'; +import { Management } from 'auth0'; import DefaultAPIHandler, { order } from './default'; import { filterExcluded, convertClientNameToId, getEnabledClients, sleep } from '../../utils'; import { CalculatedChanges, Asset, Assets, Auth0APIClient } from '../../../types'; @@ -8,6 +8,7 @@ import { ConfigFunction } from '../../../configFactory'; import { paginate } from '../client'; import ScimHandler from './scimHandler'; import log from '../../../logger'; +import { Client } from './clients'; export const schema = { type: 'array', @@ -56,6 +57,8 @@ export const schema = { }, }; +export type Connection = Management.ConnectionForList; + // addExcludedConnectionPropertiesToChanges superimposes excluded properties on the `options` object. The Auth0 API // will overwrite the options property when updating connections, so it is necessary to add excluded properties back in to prevent those excluded properties from being deleted. // This use case is common because organizations may not want to expose sensitive connection details, but want to preserve them in the tenant. @@ -71,11 +74,11 @@ export const addExcludedConnectionPropertiesToChanges = ({ }) => { if (proposedChanges.update.length === 0) return proposedChanges; - //@ts-ignore because this expects a parameter to be passed + // @ts-ignore because this expects a parameter to be passed const excludedFields = config()?.EXCLUDED_PROPS?.connections || []; if (excludedFields.length === 0) return proposedChanges; - const existingConnectionsMap = _.keyBy(existingConnections, 'id'); + const existingConnectionsMap = keyBy(existingConnections, 'id'); const excludedOptions = excludedFields.filter( // Only include fields that pertain to options (excludedField) => excludedField.startsWith('options') @@ -126,29 +129,20 @@ export const getConnectionEnabledClients = async ( try { const enabledClientsFormatted: string[] = []; - let from: string | undefined; - let hasMore = true; - - while (hasMore) { - const response = await auth0Client.connections.getEnabledClients({ - id: connectionId, - take: 50, - ...(from && { from }), - }); - const { clients: enabledClients, next } = response?.data || {}; + let enabledClients = await auth0Client.connections.clients.get(connectionId); - if (enabledClients?.length) { - enabledClients.forEach((client) => { + do { + if (enabledClients && enabledClients.data?.length > 0) { + enabledClients.data.forEach((client) => { if (client?.client_id) { enabledClientsFormatted.push(client.client_id); } }); } - hasMore = !!next; - from = next; - } + enabledClients = await enabledClients.getNextPage(); + } while (enabledClients.hasNextPage()); return enabledClientsFormatted; } catch (error) { @@ -174,24 +168,17 @@ export const updateConnectionEnabledClients = async ( ): Promise => { if (!connectionId || !Array.isArray(enabledClientIds) || !enabledClientIds.length) return false; - const enabledClientUpdatePayloads: Array = enabledClientIds.map( - (clientId) => ({ + const enabledClientUpdatePayloads: Management.UpdateEnabledClientConnectionsRequestContentItem[] = + enabledClientIds.map((clientId) => ({ client_id: clientId, status: true, - }) - ); - const payloadChunks = _.chunk(enabledClientUpdatePayloads, 50); + })); + + const payloadChunks = chunk(enabledClientUpdatePayloads, 50); try { await Promise.all( - payloadChunks.map((payload) => - auth0Client.connections.updateEnabledClients( - { - id: connectionId, - }, - payload - ) - ) + payloadChunks.map((payload) => auth0Client.connections.clients.update(connectionId, payload)) ); log.debug(`Updated enabled clients for ${typeName}: ${connectionId}`); return true; @@ -229,22 +216,18 @@ export const processConnectionEnabledClients = async ( let newConnections; if (typeName === 'database') { - const { - data: { connections }, - } = await auth0Client.connections.getAll({ + const { data: connections } = await auth0Client.connections.list({ name: conn.name, take: 1, - strategy: [GetConnectionsStrategyEnum.auth0], - include_totals: true, + strategy: [Management.ConnectionStrategyEnum.Auth0], + include_fields: true, }); newConnections = connections; } else { - const { - data: { connections }, - } = await auth0Client.connections.getAll({ + const { data: connections } = await auth0Client.connections.list({ name: conn.name, take: 1, - include_totals: true, + include_fields: true, }); newConnections = connections; } @@ -277,7 +260,8 @@ export const processConnectionEnabledClients = async ( }; export default class ConnectionsHandler extends DefaultAPIHandler { - existing: Asset[] | null; + existing: Connection[] | null; + scimHandler: ScimHandler; constructor(config: DefaultAPIHandler) { @@ -289,11 +273,11 @@ export default class ConnectionsHandler extends DefaultAPIHandler { // When `connections` is updated, it can result in `update`,`create` or `delete` action on SCIM. // Because, `scim_configuration` is inside `connections`. update: async (requestParams, bodyParams) => - await this.scimHandler.updateOverride(requestParams, bodyParams), + this.scimHandler.updateOverride(requestParams, bodyParams), // When a new `connection` is created. We can perform only `create` option on SCIM. // When a connection is `deleted`. `scim_configuration` is also deleted along with it; no action on SCIM is required. - create: async (bodyParams) => await this.scimHandler.createOverride(bodyParams), + create: async (bodyParams) => this.scimHandler.createOverride(bodyParams), }, }); @@ -324,9 +308,8 @@ export default class ConnectionsHandler extends DefaultAPIHandler { async getType(): Promise { if (this.existing) return this.existing; - const connections = await paginate(this.client.connections.getAll, { + const connections = await paginate(this.client.connections.list, { checkpoint: true, - include_totals: true, }); // Filter out database connections as we have separate handler for it @@ -347,6 +330,7 @@ export default class ConnectionsHandler extends DefaultAPIHandler { const connectionsWithEnabledClients = await Promise.all( filteredConnections.map(async (con) => { + if (!con?.id) return con; const enabledClients = await getConnectionEnabledClients(this.client, con.id); if (enabledClients && enabledClients?.length) { return { ...con, enabled_clients: enabledClients }; @@ -376,12 +360,12 @@ export default class ConnectionsHandler extends DefaultAPIHandler { }; // Convert enabled_clients by name to the id - const clients = await paginate(this.client.clients.getAll, { + const clients = await paginate(this.client.clients.list, { paginate: true, include_totals: true, }); - const existingConnections = await paginate(this.client.connections.getAll, { + const existingConnections = await paginate(this.client.connections.list, { checkpoint: true, include_totals: true, }); diff --git a/src/tools/auth0/handlers/customDomains.ts b/src/tools/auth0/handlers/customDomains.ts index fab581db2..6deb181f3 100644 --- a/src/tools/auth0/handlers/customDomains.ts +++ b/src/tools/auth0/handlers/customDomains.ts @@ -1,4 +1,4 @@ -import { CustomDomain } from 'auth0'; +import { Management } from 'auth0'; import DefaultAPIHandler, { order } from './default'; import { Asset, Assets } from '../../../types'; import log from '../../../logger'; @@ -41,8 +41,10 @@ export const schema = { }, }; +type CustomDomain = Management.CustomDomain; + export default class CustomDomainsHadnler extends DefaultAPIHandler { - existing: Asset[] | null; + existing: CustomDomain[] | null; constructor(config: DefaultAPIHandler) { super({ @@ -70,9 +72,7 @@ export default class CustomDomainsHadnler extends DefaultAPIHandler { 'updated_at', ], functions: { - delete: (args) => this.client.customDomains.delete({ id: args.custom_domain_id }), - update: (args, data) => - this.client.customDomains.update({ id: args.custom_domain_id }, data), + update: (args, data) => this.client.customDomains.update(args.custom_domain_id, data), }, }); } @@ -87,7 +87,7 @@ export default class CustomDomainsHadnler extends DefaultAPIHandler { return this.existing; } - const customDomains = await paginate(this.client.customDomains.getAll, { + const customDomains = await paginate(this.client.customDomains.list, { checkpoint: true, }); diff --git a/src/tools/auth0/handlers/databases.ts b/src/tools/auth0/handlers/databases.ts index c4d232482..947d98008 100644 --- a/src/tools/auth0/handlers/databases.ts +++ b/src/tools/auth0/handlers/databases.ts @@ -1,11 +1,16 @@ -import { Client, Connection, GetConnectionsStrategyEnum } from 'auth0'; +import { Management } from 'auth0'; import DefaultAPIHandler, { order } from './default'; import constants from '../../constants'; import { filterExcluded, getEnabledClients } from '../../utils'; import { CalculatedChanges, Assets, Asset } from '../../../types'; import { paginate } from '../client'; import log from '../../../logger'; -import { getConnectionEnabledClients, processConnectionEnabledClients } from './connections'; +import { + Connection, + getConnectionEnabledClients, + processConnectionEnabledClients, +} from './connections'; +import { Client } from './clients'; export const schema = { type: 'array', @@ -175,8 +180,8 @@ export default class DatabaseHandler extends DefaultAPIHandler { // If we going to update database, we need to get current options first if (fn === 'update') { return (params, payload) => - this.client.connections.get(params).then((response) => { - const connection = response.data; + this.client.connections.get(params?.id).then((response) => { + const connection = response; const attributes = payload?.options?.attributes; const requiresUsername = payload?.options?.requires_username; const validation = payload?.options?.validation; @@ -186,10 +191,10 @@ export default class DatabaseHandler extends DefaultAPIHandler { 'Warning: "attributes" cannot be used with "requires_username" or "validation". Please remove one of the conflicting options.' ); } else if (attributes) { - delete connection.options.validation; - delete connection.options.requires_username; + delete connection.options?.validation; + delete connection.options?.requires_username; } else if (requiresUsername || validation) { - delete connection.options.attributes; + delete connection.options?.attributes; } payload.options = { ...connection.options, ...payload.options }; @@ -197,7 +202,7 @@ export default class DatabaseHandler extends DefaultAPIHandler { if (payload.options && Object.keys(payload.options).length === 0) { delete payload.options; } - return this.client.connections.update(params, payload); + return this.client.connections.update(params.id, payload); }); } @@ -207,14 +212,14 @@ export default class DatabaseHandler extends DefaultAPIHandler { async getType() { if (this.existing) return this.existing; - const connections = await paginate(this.client.connections.getAll, { - strategy: [GetConnectionsStrategyEnum.auth0], + const connections = await paginate(this.client.connections.list, { + strategy: [Management.ConnectionStrategyEnum.Auth0], checkpoint: true, - include_totals: true, }); const dbConnectionsWithEnabledClients = await Promise.all( connections.map(async (con) => { + if (!con?.id) return con; const enabledClients = await getConnectionEnabledClients(this.client, con.id); if (enabledClients && enabledClients?.length) { return { ...con, enabled_clients: enabledClients }; @@ -252,19 +257,15 @@ export default class DatabaseHandler extends DefaultAPIHandler { // Convert enabled_clients by name to the id - const clients = await paginate(this.client.clients.getAll, { + const clients = await paginate(this.client.clients.list, { paginate: true, - include_totals: true, }); - const existingDatabasesConnections = await paginate( - this.client.connections.getAll, - { - strategy: [GetConnectionsStrategyEnum.auth0], - checkpoint: true, - include_totals: true, - } - ); + const existingDatabasesConnections = await paginate(this.client.connections.list, { + strategy: [Management.ConnectionStrategyEnum.Auth0], + checkpoint: true, + include_totals: true, + }); const formatted = databases.map((db) => { if (db.enabled_clients) { return { diff --git a/src/tools/auth0/handlers/default.ts b/src/tools/auth0/handlers/default.ts index 8c13ab676..b76d6651e 100644 --- a/src/tools/auth0/handlers/default.ts +++ b/src/tools/auth0/handlers/default.ts @@ -28,6 +28,77 @@ export function order(value) { }; } +// Retry configuration constants +const DEFAULT_MAX_RETRIES = 3; +const DEFAULT_INITIAL_DELAY_MS = 1000; // 1 second +const DEFAULT_MAX_DELAY_MS = 30000; // 30 seconds + +interface RetryOptions { + maxRetries?: number; + initialDelay?: number; + maxDelay?: number; + // eslint-disable-next-line @typescript-eslint/no-explicit-any + onRetry?: (error: any, attempt: number, delay: number) => void; +} + +/** + * Executes a function with exponential backoff retry logic for rate limit errors (429). + * + * @param fn - The function to execute with retry logic + * @param options - Configuration options for retry behavior + * @returns Promise that resolves with the function result or rejects after max retries + */ +async function retryWithExponentialBackoff( + fn: () => Promise, + options: RetryOptions = {} +): Promise { + const { + maxRetries = DEFAULT_MAX_RETRIES, + initialDelay = DEFAULT_INITIAL_DELAY_MS, + maxDelay = DEFAULT_MAX_DELAY_MS, + onRetry = () => {}, + } = options; + + let lastError: any; + + for (let attempt = 0; attempt <= maxRetries; attempt++) { + try { + return await fn(); + } catch (error) { + lastError = error; + + // Only retry on rate limit errors (429) + const isRateLimitError = + error?.statusCode === 429 || + error?.message?.includes('429') || + error?.message?.includes('Too Many Requests') || + error?.message?.includes('TooManyRequestsError') || + error?.message?.includes('Global limit has been reached'); + + if (!isRateLimitError || attempt === maxRetries) { + throw error; + } + + // Calculate delay with exponential backoff and jitter + const exponentialDelay = initialDelay * 2 ** attempt; + const jitter = Math.random() * 1000; // 0-1s randomization to prevent thundering herd + const delay = Math.min(exponentialDelay + jitter, maxDelay); + + // Check for Retry-After header (if available in error response) + const retryAfter = error?.rawResponse?.headers?.get('retry-after'); + const finalDelay = retryAfter ? parseInt(retryAfter, 10) * 1000 : delay; + + onRetry(error, attempt + 1, finalDelay); + + await new Promise((resolve) => { + setTimeout(resolve, finalDelay); + }); + } + } + + throw lastError; +} + type ApiMethodOverride = string | Function; export default class APIHandler { @@ -46,7 +117,7 @@ export default class APIHandler { stripCreateFields: string[]; //Fields to strip from payload when creating name?: string; // TODO: understand if any handlers actually leverage `name` property functions: { - getAll: ApiMethodOverride; + list: ApiMethodOverride; update: ApiMethodOverride; create: ApiMethodOverride; delete: ApiMethodOverride; @@ -63,7 +134,7 @@ export default class APIHandler { sensitiveFieldsToObfuscate?: APIHandler['sensitiveFieldsToObfuscate']; stripCreateFields?: APIHandler['stripCreateFields']; functions: { - getAll?: ApiMethodOverride; + list?: ApiMethodOverride; update?: ApiMethodOverride; create?: ApiMethodOverride; delete?: ApiMethodOverride; @@ -81,7 +152,7 @@ export default class APIHandler { this.stripCreateFields = options.stripCreateFields || []; this.functions = { - getAll: 'getAll', + list: 'list', create: 'create', delete: 'delete', update: 'update', @@ -217,6 +288,20 @@ export default class APIHandler { `Start processChanges for ${this.type} [delete:${del.length}] [update:${update.length}], [create:${create.length}], [conflicts:${conflicts.length}]` ); + // Set retry configuration from config + const retryConfig: RetryOptions = { + maxRetries: this.config('AUTH0_MAX_RETRIES') || DEFAULT_MAX_RETRIES, + initialDelay: this.config('AUTH0_RETRY_INITIAL_DELAY_MS') || DEFAULT_INITIAL_DELAY_MS, + maxDelay: this.config('AUTH0_RETRY_MAX_DELAY_MS') || DEFAULT_MAX_DELAY_MS, + onRetry: (error: any, attempt: number, delay: number) => { + log.warn( + `Rate limit hit for [${this.type}]. Retrying attempt ${attempt}/${ + retryConfig.maxRetries + } after ${Math.round(delay / 1000)}s...` + ); + }, + }; + // Process Deleted if (del.length > 0) { const allowDelete = @@ -235,9 +320,11 @@ export default class APIHandler { await this.client.pool .addEachTask({ data: del || [], - generator: (delItem) => { - const delFunction = this.getClientFN(this.functions.delete); - return delFunction({ [this.id]: delItem[this.id] }) + generator: (delItem) => + retryWithExponentialBackoff(() => { + const delFunction = this.getClientFN(this.functions.delete); + return delFunction(delItem[this.id]); + }, retryConfig) .then(() => { this.didDelete(delItem); this.deleted += 1; @@ -246,8 +333,7 @@ export default class APIHandler { throw new Error( `Problem deleting ${this.type} ${this.objString(delItem)}\n${err}` ); - }); - }, + }), }) .promise(); } @@ -257,21 +343,22 @@ export default class APIHandler { await this.client.pool .addEachTask({ data: conflicts || [], - generator: (updateItem) => { - const updateFN = this.getClientFN(this.functions.update); - const params = { [this.id]: updateItem[this.id] }; - const updatePayload = (() => { - let data = stripFields({ ...updateItem }, this.stripUpdateFields); - return stripObfuscatedFieldsFromPayload(data, this.sensitiveFieldsToObfuscate); - })(); - return updateFN(params, updatePayload) - .then((data) => this.didUpdate(data)) + generator: (updateItem) => + retryWithExponentialBackoff(() => { + const updateFN = this.getClientFN(this.functions.update); + const params = { [this.id]: updateItem[this.id] }; + const updatePayload = (() => { + const data = stripFields({ ...updateItem }, this.stripUpdateFields); + return stripObfuscatedFieldsFromPayload(data, this.sensitiveFieldsToObfuscate); + })(); + return updateFN(params, updatePayload); + }, retryConfig) + .then((data) => this.didUpdate(data as Asset)) .catch((err) => { throw new Error( `Problem updating ${this.type} ${this.objString(updateItem)}\n${err}` ); - }); - }, + }), }) .promise(); @@ -279,26 +366,27 @@ export default class APIHandler { await this.client.pool .addEachTask({ data: create || [], - generator: (createItem) => { - const createFunction = this.getClientFN(this.functions.create); - const createPayload = (() => { - const strippedPayload = stripFields(createItem, this.stripCreateFields); - return stripObfuscatedFieldsFromPayload( - strippedPayload, - this.sensitiveFieldsToObfuscate - ); - })(); - return createFunction(createPayload) + generator: (createItem) => + retryWithExponentialBackoff(() => { + const createFunction = this.getClientFN(this.functions.create); + const createPayload = (() => { + const strippedPayload = stripFields(createItem, this.stripCreateFields); + return stripObfuscatedFieldsFromPayload( + strippedPayload, + this.sensitiveFieldsToObfuscate + ); + })(); + return createFunction(createPayload); + }, retryConfig) .then((data) => { - this.didCreate(data); + this.didCreate(data as Asset); this.created += 1; }) .catch((err) => { throw new Error( `Problem creating ${this.type} ${this.objString(createItem)}\n${err}` ); - }); - }, + }), }) .promise(); @@ -306,24 +394,25 @@ export default class APIHandler { await this.client.pool .addEachTask({ data: update || [], - generator: (updateItem) => { - const updateFN = this.getClientFN(this.functions.update); - const params = { [this.id]: updateItem[this.id] }; - const updatePayload = (() => { - let data = stripFields({ ...updateItem }, this.stripUpdateFields); - return stripObfuscatedFieldsFromPayload(data, this.sensitiveFieldsToObfuscate); - })(); - return updateFN(params, updatePayload) + generator: (updateItem) => + retryWithExponentialBackoff(() => { + const updateFN = this.getClientFN(this.functions.update); + const params = { [this.id]: updateItem[this.id] }; + const updatePayload = (() => { + const data = stripFields({ ...updateItem }, this.stripUpdateFields); + return stripObfuscatedFieldsFromPayload(data, this.sensitiveFieldsToObfuscate); + })(); + return updateFN(params, updatePayload); + }, retryConfig) .then((data) => { - this.didUpdate(data); + this.didUpdate(data as Asset); this.updated += 1; }) .catch((err) => { throw new Error( `Problem updating ${this.type} ${this.objString(updateItem)}\n${err}` ); - }); - }, + }), }) .promise(); } diff --git a/src/tools/auth0/handlers/emailProvider.ts b/src/tools/auth0/handlers/emailProvider.ts index ac8387359..08442cc7e 100644 --- a/src/tools/auth0/handlers/emailProvider.ts +++ b/src/tools/auth0/handlers/emailProvider.ts @@ -1,5 +1,5 @@ -import { EmailProviderCreate } from 'auth0'; import { isEmpty } from 'lodash'; +import { Management } from 'auth0'; import DefaultHandler, { order } from './default'; import { Asset, Assets } from '../../../types'; @@ -18,11 +18,11 @@ export default class EmailProviderHandler extends DefaultHandler { async getType(): Promise { try { - const { data } = await this.client.emails.get({ + const emailProvider = await this.client.emails.provider.get({ include_fields: true, fields: defaultFields.join(','), }); - return data; + return emailProvider; } catch (err) { if (err.statusCode === 404) return {}; throw err; @@ -48,7 +48,7 @@ export default class EmailProviderHandler extends DefaultHandler { if (isEmpty(existing.credentials)) { delete existing.credentials; } - const updated = await this.client.emails.update(existing); + const updated = await this.client.emails.provider.update(existing); this.updated += 1; this.didUpdate(updated); } @@ -56,11 +56,13 @@ export default class EmailProviderHandler extends DefaultHandler { } if (existing.name) { - const updated = await this.client.emails.update(emailProvider); + const updated = await this.client.emails.provider.update(emailProvider); this.updated += 1; this.didUpdate(updated); } else { - const created = await this.client.emails.configure(emailProvider as EmailProviderCreate); + const created = await this.client.emails.provider.create( + emailProvider as Management.CreateEmailProviderRequestContent + ); this.created += 1; this.didCreate(created); } diff --git a/src/tools/auth0/handlers/emailTemplates.ts b/src/tools/auth0/handlers/emailTemplates.ts index 0a784de36..0e1aa1e5a 100644 --- a/src/tools/auth0/handlers/emailTemplates.ts +++ b/src/tools/auth0/handlers/emailTemplates.ts @@ -31,7 +31,7 @@ export default class EmailTemplateHandler extends DefaultHandler { const emailTemplates = await Promise.all( constants.EMAIL_TEMPLATES_TYPES.map(async (templateName) => { try { - const { data: template } = await this.client.emailTemplates.get({ templateName }); + const template = await this.client.emailTemplates.get(templateName); return template; } catch (err) { if (err.statusCode === 403 && templateName === constants.EMAIL_ASYNC_APPROVAL) { @@ -44,6 +44,7 @@ export default class EmailTemplateHandler extends DefaultHandler { throw err; } } + return null; }) ); @@ -57,7 +58,7 @@ export default class EmailTemplateHandler extends DefaultHandler { const identifierField = this.identifiers[0]; const params = { templateName: emailTemplate[identifierField] }; - const { data: updated } = await this.client.emailTemplates.update(params, emailTemplate); + const updated = await this.client.emailTemplates.update(params.templateName, emailTemplate); // Remove body from the response const { body, ...excludedBody } = updated; this.didUpdate(excludedBody); @@ -65,7 +66,7 @@ export default class EmailTemplateHandler extends DefaultHandler { } catch (err) { if (err.statusCode === 404) { // Create if it does not exist - const { data: created } = await this.client.emailTemplates.create(emailTemplate); + const created = await this.client.emailTemplates.create(emailTemplate); // Remove body from the response const { body, ...excludedBody } = created; this.didCreate(excludedBody); diff --git a/src/tools/auth0/handlers/flowVaultConnections.ts b/src/tools/auth0/handlers/flowVaultConnections.ts index 6502405cb..abe1ddb93 100644 --- a/src/tools/auth0/handlers/flowVaultConnections.ts +++ b/src/tools/auth0/handlers/flowVaultConnections.ts @@ -1,21 +1,11 @@ -import { - GetFlowsVaultConnections200ResponseOneOfInner, - PatchFlowsVaultConnectionsByIdRequest, -} from 'auth0'; -import { isArray, isEmpty } from 'lodash'; +import { Management } from 'auth0'; +import { isEmpty } from 'lodash'; import DefaultHandler, { order } from './default'; -import { Asset, Assets, CalculatedChanges } from '../../../types'; +import { Asset, Assets, Auth0APIClient, CalculatedChanges } from '../../../types'; import constants from '../../constants'; import log from '../../../logger'; -export type FlowVaultConnection = { - name: string; - app_id: string; - environment: string; - setup: object; - account_name: string; - ready: string; -}; +export type FlowVaultConnection = Management.GetFlowsVaultConnectionResponseContent; export const schema = { type: 'array', @@ -34,6 +24,20 @@ export const schema = { additionalProperties: false, }; +export const getAllFlowConnections = async ( + auth0Client: Auth0APIClient +): Promise => { + const allFlowConnections: Management.FlowsVaultConnectionSummary[] = []; + + let vaultConnections = await auth0Client.flows.vault.connections.list(); + do { + allFlowConnections.push(...vaultConnections.data); + vaultConnections = await vaultConnections.getNextPage(); + } while (vaultConnections.hasNextPage()); + + return allFlowConnections; +}; + export default class FlowVaultHandler extends DefaultHandler { existing: Asset; @@ -56,7 +60,7 @@ export default class FlowVaultHandler extends DefaultHandler { return this.existing; } - this.existing = await this.getAllFlowConnections(); + this.existing = await getAllFlowConnections(this.client); return this.existing; } @@ -95,36 +99,6 @@ export default class FlowVaultHandler extends DefaultHandler { ); } - async getAllFlowConnections(): Promise { - const allFlowConnections: GetFlowsVaultConnections200ResponseOneOfInner[] = []; - // paginate without paginate helper as this is not getAll but getAllConnections - // paginate through all flow connections - let page = 0; - while (true) { - const { - data: { connections, total }, - } = await this.client.flows.getAllConnections({ - page: page, - per_page: 100, - include_totals: true, - }); - - // if we get an unexpected response, break the loop to avoid infinite loop - if (!isArray(allFlowConnections) || typeof total !== 'number') { - break; - } - - allFlowConnections.push(...connections); - page += 1; - - if (allFlowConnections.length === total) { - break; - } - } - - return allFlowConnections; - } - async createVaultConnection(conn): Promise { if ('ready' in conn) { delete conn.ready; @@ -132,7 +106,7 @@ export default class FlowVaultHandler extends DefaultHandler { if ('account_name' in conn) { delete conn.account_name; } - const { data: created } = await this.client.flows.createConnection(conn); + const created = await this.client.flows.vault.connections.create(conn); return created; } @@ -155,13 +129,13 @@ export default class FlowVaultHandler extends DefaultHandler { async updateVaultConnection(conn) { const { id, name, setup } = conn; - const params: PatchFlowsVaultConnectionsByIdRequest = { + const params: Management.UpdateFlowsVaultConnectionRequestContent = { name, }; if (!isEmpty(setup)) { params.setup = setup; } - const updated = await this.client.flows.updateConnection({ id: id }, params); + const updated = await this.client.flows.vault.connections.update(id, params); return updated; } @@ -183,7 +157,7 @@ export default class FlowVaultHandler extends DefaultHandler { } async deleteVaultConnection(conn): Promise { - await this.client.flows.deleteConnection({ id: conn.id }); + await this.client.flows.vault.connections.delete(conn.id); } async deleteVaultConnections(data: Asset[]): Promise { diff --git a/src/tools/auth0/handlers/flows.ts b/src/tools/auth0/handlers/flows.ts index 2ca1609a9..0a204a6e7 100644 --- a/src/tools/auth0/handlers/flows.ts +++ b/src/tools/auth0/handlers/flows.ts @@ -1,15 +1,12 @@ -import { isArray, isEmpty } from 'lodash'; -import { - GetFlows200ResponseOneOfInner, - GetFlowsVaultConnections200ResponseOneOfInner, - PostFlows201Response, -} from 'auth0'; +import { isEmpty } from 'lodash'; +import { Management } from 'auth0'; import dotProp from 'dot-prop'; import DefaultHandler, { order } from './default'; import { Asset, Assets, CalculatedChanges } from '../../../types'; import { paginate } from '../client'; import log from '../../../logger'; import { findKeyPathWithValue } from '../../../utils'; +import { getAllFlowConnections } from './flowVaultConnections'; export type Flow = { name: string; @@ -39,6 +36,10 @@ export default class FlowHandler extends DefaultHandler { id: 'id', stripCreateFields: ['created_at', 'updated_at', 'executed_at'], stripUpdateFields: ['created_at', 'updated_at', 'executed_at'], + functions: { + update: async ({ id }: { id: string }, bodyParams: Management.UpdateFlowRequestContent) => + this.client.flows.update(id, bodyParams), + }, }); } @@ -46,19 +47,21 @@ export default class FlowHandler extends DefaultHandler { return super.objString({ id: item.id, name: item.name }); } - async getFlows(flows: Array): Promise { + async getFlows( + flows: Array + ): Promise { const allFlows = await this.client.pool .addEachTask({ data: flows, generator: ({ id }) => - this.client.flows.get({ id: id }).then((response) => { - if (isEmpty(response?.data)) return null; - return response.data; + this.client.flows.get(id).then((response) => { + if (isEmpty(response)) return null; + return response; }), }) .promise(); - return allFlows.filter((flow): flow is PostFlows201Response => flow !== null); + return allFlows.filter((flow): flow is Management.GetFlowResponseContent => flow !== null); } async getType(): Promise { @@ -67,15 +70,14 @@ export default class FlowHandler extends DefaultHandler { } const [flows, allFlowConnections] = await Promise.all([ - paginate(this.client.flows.getAll, { + paginate(this.client.flows.list, { paginate: true, - include_totals: true, }), - this.getAllFlowConnections(), + getAllFlowConnections(this.client), ]); // get more details for each flows - const allFlows: Array = await this.getFlows(flows); + const allFlows = await this.getFlows(flows); // create a map for id to name from allFlowConnections const connectionIdMap = {}; @@ -94,7 +96,7 @@ export default class FlowHandler extends DefaultHandler { // Do nothing if not set if (!flows) return; - const allFlowConnections = await this.getAllFlowConnections(); + const allFlowConnections = await getAllFlowConnections(this.client); // create a map for name to id from allFlowConnections const connectionNameMap = {}; @@ -118,36 +120,6 @@ export default class FlowHandler extends DefaultHandler { }); } - async getAllFlowConnections(): Promise { - const allFlowConnections: GetFlowsVaultConnections200ResponseOneOfInner[] = []; - // paginate without paginate helper as this is not getAll but getAllConnections - // paginate through all flow connections - let page = 0; - while (true) { - const { - data: { connections, total }, - } = await this.client.flows.getAllConnections({ - page: page, - per_page: 100, - include_totals: true, - }); - - // if we get an unexpected response, break the loop to avoid infinite loop - if (!isArray(allFlowConnections) || typeof total !== 'number') { - break; - } - - allFlowConnections.push(...connections); - page += 1; - - if (allFlowConnections.length === total) { - break; - } - } - - return allFlowConnections; - } - async formateFlowConnectionId(flows, connectionIdMap): Promise { // replace connection_id with flow connection names await Promise.all( diff --git a/src/tools/auth0/handlers/forms.ts b/src/tools/auth0/handlers/forms.ts index 5b8425bde..b8b438003 100644 --- a/src/tools/auth0/handlers/forms.ts +++ b/src/tools/auth0/handlers/forms.ts @@ -1,8 +1,4 @@ -import { - GetFlows200ResponseOneOfInner, - GetForms200ResponseOneOfInner, - PostForms201Response, -} from 'auth0'; +import { Management } from 'auth0'; import dotProp from 'dot-prop'; import { isEmpty } from 'lodash'; import DefaultHandler, { order } from './default'; @@ -16,7 +12,7 @@ export type Form = { body: string; }; -export type FormResponse = PostForms201Response; +export type FormResponse = Management.GetFormResponseContent; export const schema = { type: 'array', @@ -41,6 +37,10 @@ export default class FormsHandler extends DefaultHandler { id: 'id', stripCreateFields: ['created_at', 'updated_at', 'submitted_at', 'embedded_at'], stripUpdateFields: ['created_at', 'updated_at', 'submitted_at', 'embedded_at'], + functions: { + update: async ({ id }: { id: string }, bodyParams: Management.UpdateFormRequestContent) => + this.client.forms.update(id, bodyParams), + }, }); } @@ -48,18 +48,20 @@ export default class FormsHandler extends DefaultHandler { return super.objString({ id: item.id, name: item.name }); } - async getForms(forms: Array): Promise { + async getForms( + forms: Array + ): Promise { const allForms = await this.client.pool .addEachTask({ data: forms, generator: ({ id }) => - this.client.forms.get({ id: id }).then((response) => { - if (isEmpty(response?.data)) return null; - return response.data; + this.client.forms.get(id).then((response) => { + if (isEmpty(response)) return null; + return response; }), }) .promise(); - return allForms.filter((form): form is PostForms201Response => form !== null); + return allForms.filter((form): form is Management.GetFormResponseContent => form !== null); } async getType(): Promise { @@ -68,13 +70,11 @@ export default class FormsHandler extends DefaultHandler { } const [forms, flows] = await Promise.all([ - paginate(this.client.forms.getAll, { + paginate(this.client.forms.list, { paginate: true, - include_totals: true, }), - paginate(this.client.flows.getAll, { + paginate(this.client.flows.list, { paginate: true, - include_totals: true, }), ]); @@ -149,7 +149,7 @@ export default class FormsHandler extends DefaultHandler { // Do nothing if not set if (!forms) return; - const flows = await paginate(this.client.flows.getAll, { + const flows = await paginate(this.client.flows.list, { paginate: true, include_totals: true, }); diff --git a/src/tools/auth0/handlers/guardianFactorProviders.ts b/src/tools/auth0/handlers/guardianFactorProviders.ts index d2e5a9d60..eaea23e78 100644 --- a/src/tools/auth0/handlers/guardianFactorProviders.ts +++ b/src/tools/auth0/handlers/guardianFactorProviders.ts @@ -43,15 +43,14 @@ export default class GuardianFactorProvidersHandler extends DefaultHandler { const data = await Promise.all( mappings.map(async (m) => { let provider; - // TODO: This is quite a change, needs to be validated for sure. if (m.name === 'phone' && m.provider === 'twilio') { - provider = await this.client.guardian.getPhoneFactorProviderTwilio(); + provider = await this.client.guardian.factors.phone.getTwilioProvider(); } else if (m.name === 'sms' && m.provider === 'twilio') { - provider = await this.client.guardian.getSmsFactorProviderTwilio(); + provider = await this.client.guardian.factors.sms.getTwilioProvider(); } else if (m.name === 'push-notification' && m.provider === 'apns') { - provider = await this.client.guardian.getPushNotificationProviderAPNS(); + provider = await this.client.guardian.factors.pushNotification.getApnsProvider(); } else if (m.name === 'push-notification' && m.provider === 'sns') { - provider = await this.client.guardian.getPushNotificationProviderSNS(); + provider = await this.client.guardian.factors.pushNotification.getSnsProvider(); } return { ...m, ...provider.data }; @@ -84,17 +83,16 @@ export default class GuardianFactorProvidersHandler extends DefaultHandler { guardianFactorProviders.map(async (factorProvider) => { const { name, provider, ...data } = factorProvider; const params = { name: factorProvider.name, provider: factorProvider.provider }; - // TODO: This is quite a change, needs to be validated for sure. if (name === 'phone' && provider === 'twilio') { - await this.client.guardian.updatePhoneFactorProviderTwilio(data); + await this.client.guardian.factors.phone.setTwilioProvider(data); } else if (name === 'sms' && provider === 'twilio') { - await this.client.guardian.setSmsFactorProviderTwilio(data); + await this.client.guardian.factors.sms.setTwilioProvider(data); } else if (name === 'push-notification' && provider === 'apns') { - await this.client.guardian.updatePushNotificationProviderAPNS(data); + await this.client.guardian.factors.pushNotification.setApnsProvider(data); } else if (name === 'push-notification' && provider === 'fcm') { - await this.client.guardian.updatePushNotificationProviderFCM(data); + await this.client.guardian.factors.pushNotification.setFcmProvider(data); } else if (name === 'push-notification' && provider === 'sns') { - await this.client.guardian.updatePushNotificationProviderSNS(data); + await this.client.guardian.factors.pushNotification.setSnsProvider(data); } this.didUpdate(params); this.updated += 1; diff --git a/src/tools/auth0/handlers/guardianFactorTemplates.ts b/src/tools/auth0/handlers/guardianFactorTemplates.ts index ffef826b5..aed973a10 100644 --- a/src/tools/auth0/handlers/guardianFactorTemplates.ts +++ b/src/tools/auth0/handlers/guardianFactorTemplates.ts @@ -1,4 +1,4 @@ -import { TemplateMessages } from 'auth0'; +import { Management } from 'auth0'; import DefaultHandler from './default'; import constants from '../../constants'; import { Assets, Asset } from '../../../types'; @@ -32,11 +32,11 @@ export default class GuardianFactorTemplatesHandler extends DefaultHandler { const data = await Promise.all( constants.GUARDIAN_FACTOR_TEMPLATES.map(async (name) => { if (name === 'sms') { - const { data: templates } = await this.client.guardian.getSmsFactorTemplates(); + const templates = await this.client.guardian.factors.sms.getTemplates(); return { name, ...templates }; } - const { data: templates } = await this.client.guardian.getPhoneFactorTemplates(); + const templates = await this.client.guardian.factors.phone.getTemplates(); return { name, ...templates }; }) ); @@ -67,11 +67,14 @@ export default class GuardianFactorTemplatesHandler extends DefaultHandler { guardianFactorTemplates.map(async (fatorTemplates) => { const { name, ...data } = fatorTemplates; const params = { name: fatorTemplates.name }; - // TODO: This is quite a change, needs to be validated for sure. if (name === 'sms') { - await this.client.guardian.setSmsFactorTemplates(data as TemplateMessages); + await this.client.guardian.factors.sms.setTemplates( + data as Management.SetGuardianFactorSmsTemplatesRequestContent + ); } else if (name === 'phone') { - await this.client.guardian.setPhoneFactorTemplates(data as TemplateMessages); + await this.client.guardian.factors.phone.setTemplates( + data as Management.SetGuardianFactorPhoneTemplatesRequestContent + ); } this.didUpdate(params); this.updated += 1; diff --git a/src/tools/auth0/handlers/guardianFactors.ts b/src/tools/auth0/handlers/guardianFactors.ts index aa2b9a153..a58e3c550 100644 --- a/src/tools/auth0/handlers/guardianFactors.ts +++ b/src/tools/auth0/handlers/guardianFactors.ts @@ -1,4 +1,4 @@ -import { Factor, FactorNameEnum } from 'auth0'; +import { Management } from 'auth0'; import DefaultHandler from './default'; import constants from '../../constants'; import { Asset, Assets } from '../../../types'; @@ -29,8 +29,8 @@ export default class GuardianFactorsHandler extends DefaultHandler { async getType(): Promise { if (this.existing) return this.existing; try { - const { data } = await this.client.guardian.getFactors(); - this.existing = data; + const factors = await this.client.guardian.factors.list(); + this.existing = factors; return this.existing; } catch (err) { if (err.statusCode === 404 || err.statusCode === 501) { @@ -53,11 +53,11 @@ export default class GuardianFactorsHandler extends DefaultHandler { // Process each factor await Promise.all( - guardianFactors.map(async (factor: Factor) => { + guardianFactors.map(async (factor: Management.GuardianFactor) => { const data = { ...factor }; - const params = { name: factor.name as FactorNameEnum }; + const params = { name: factor.name as Management.GuardianFactorNameEnum }; delete data.name; - await this.client.guardian.updateFactor(params, data); + await this.client.guardian.factors.set(params.name, data); this.didUpdate(params); this.updated += 1; }) diff --git a/src/tools/auth0/handlers/guardianPhoneFactorMessageTypes.ts b/src/tools/auth0/handlers/guardianPhoneFactorMessageTypes.ts index 639e2ec6c..80815946b 100644 --- a/src/tools/auth0/handlers/guardianPhoneFactorMessageTypes.ts +++ b/src/tools/auth0/handlers/guardianPhoneFactorMessageTypes.ts @@ -1,4 +1,4 @@ -import { GetMessageTypes200Response } from 'auth0'; +import { Management } from 'auth0'; import DefaultHandler from './default'; import constants from '../../constants'; import { Asset, Assets } from '../../../types'; @@ -47,18 +47,10 @@ export default class GuardianPhoneMessageTypesHandler extends DefaultHandler { } async getType(): Promise { - // in case client version does not support the operation - if ( - !this.client.guardian || - typeof this.client.guardian.getPhoneFactorMessageTypes !== 'function' - ) { - return null; - } - if (this.existing) return this.existing; try { - const { data } = await this.client.guardian.getPhoneFactorMessageTypes(); + const data = await this.client.guardian.factors.phone.getMessageTypes(); this.existing = data; } catch (err) { if (isFeatureUnavailableError(err)) { @@ -82,8 +74,8 @@ export default class GuardianPhoneMessageTypesHandler extends DefaultHandler { if (!guardianPhoneFactorMessageTypes || !guardianPhoneFactorMessageTypes.message_types) return; const data = guardianPhoneFactorMessageTypes; - await this.client.guardian.updatePhoneFactorMessageTypes( - data as unknown as GetMessageTypes200Response + await this.client.guardian.factors.phone.setMessageTypes( + data as unknown as Management.SetGuardianFactorPhoneMessageTypesRequestContent ); this.updated += 1; this.didUpdate(guardianPhoneFactorMessageTypes); diff --git a/src/tools/auth0/handlers/guardianPhoneFactorSelectedProvider.ts b/src/tools/auth0/handlers/guardianPhoneFactorSelectedProvider.ts index cb1197a2c..701647e26 100644 --- a/src/tools/auth0/handlers/guardianPhoneFactorSelectedProvider.ts +++ b/src/tools/auth0/handlers/guardianPhoneFactorSelectedProvider.ts @@ -1,4 +1,4 @@ -import { GetPhoneProviders200Response } from 'auth0'; +import { Management } from 'auth0'; import DefaultHandler from './default'; import constants from '../../constants'; import { Asset, Assets } from '../../../types'; @@ -44,18 +44,10 @@ export default class GuardianPhoneSelectedProviderHandler extends DefaultHandler } async getType(): Promise { - // in case client version does not support the operation - if ( - !this.client.guardian || - typeof this.client.guardian.getPhoneFactorSelectedProvider !== 'function' - ) { - return null; - } - if (this.existing) return this.existing; try { - const { data } = await this.client.guardian.getPhoneFactorSelectedProvider(); + const data = await this.client.guardian.factors.phone.getSelectedProvider(); this.existing = data; } catch (err) { if (isFeatureUnavailableError(err)) { @@ -80,8 +72,8 @@ export default class GuardianPhoneSelectedProviderHandler extends DefaultHandler return; const data = guardianPhoneFactorSelectedProvider; - await this.client.guardian.updatePhoneFactorSelectedProvider( - data as GetPhoneProviders200Response + await this.client.guardian.factors.phone.setProvider( + data as Management.SetGuardianFactorsProviderPhoneRequestContent ); this.updated += 1; this.didUpdate(guardianPhoneFactorSelectedProvider); diff --git a/src/tools/auth0/handlers/guardianPolicies.ts b/src/tools/auth0/handlers/guardianPolicies.ts index 75d5c44a8..1feadb164 100644 --- a/src/tools/auth0/handlers/guardianPolicies.ts +++ b/src/tools/auth0/handlers/guardianPolicies.ts @@ -1,3 +1,4 @@ +import { Management } from 'auth0'; import DefaultHandler from './default'; import constants from '../../constants'; import { Assets } from '../../../types'; @@ -28,15 +29,10 @@ export default class GuardianPoliciesHandler extends DefaultHandler { }); } - //TODO: standardize empty object literal with more intentional empty indicator + // TODO: standardize empty object literal with more intentional empty indicator async getType(): Promise { - // in case client version does not support the operation - if (!this.client.guardian || typeof this.client.guardian.getPolicies !== 'function') { - return {}; - } - if (this.existing) return this.existing; - const { data: policies } = await this.client.guardian.getPolicies(); + const policies = await this.client.guardian.policies.list(); this.existing = { policies }; return this.existing; } @@ -48,8 +44,8 @@ export default class GuardianPoliciesHandler extends DefaultHandler { // Do nothing if not set if (!guardianPolicies || !guardianPolicies.policies) return; - const data = guardianPolicies.policies; - await this.client.guardian.updatePolicies(data); + const data = guardianPolicies.policies as Management.SetGuardianPoliciesRequestContent; + await this.client.guardian.policies.set(data); this.updated += 1; this.didUpdate(guardianPolicies); } diff --git a/src/tools/auth0/handlers/hooks.ts b/src/tools/auth0/handlers/hooks.ts index 6bb1fccd5..c48edfb23 100644 --- a/src/tools/auth0/handlers/hooks.ts +++ b/src/tools/auth0/handlers/hooks.ts @@ -1,4 +1,4 @@ -import { Hook } from 'auth0'; +import { Management } from 'auth0'; import DefaultHandler from './default'; import constants from '../../constants'; import { Asset, Assets, CalculatedChanges } from '../../../types'; @@ -19,6 +19,8 @@ export const excludeSchema = { items: { type: 'string' }, }; +type Hook = Management.Hook; + export const schema = { type: 'array', items: { @@ -144,48 +146,42 @@ export default class HooksHandler extends DefaultHandler { await Promise.all( changes.del.map(async (data) => { - await this.client.hooks.deleteSecrets({ id: data.hookId }, data.secrets); + await this.client.hooks.secrets.delete(data.hookId, data.secrets); }) ); await Promise.all( changes.update.map(async (data) => { - await this.client.hooks.updateSecrets({ id: data.hookId }, data.secrets); + await this.client.hooks.secrets.update(data.hookId, data.secrets); }) ); await Promise.all( changes.create.map(async (data) => { - await this.client.hooks.addSecrets({ id: data.hookId }, data.secrets); + await this.client.hooks.secrets.create(data.hookId, data.secrets); }) ); } - //@ts-ignore because hooks use a special reload argument + // @ts-ignore because hooks use a special reload argument async getType(reload: boolean): Promise { if (this.existing && !reload) { return this.existing; } - // in case client version does not support hooks - if (!this.client.hooks || typeof this.client.hooks.getAll !== 'function') { - return []; - } - try { - const hooks = await paginate(this.client.hooks.getAll, { + const hooks = await paginate(this.client.hooks.list, { paginate: true, - include_totals: true, }); // hooks.getAll does not return code and secrets, we have to fetch hooks one-by-one this.existing = await Promise.all( hooks.map((hook: { id: string }) => this.client.hooks - .get({ id: hook.id }) - .then(({ data: hookWithCode }) => - this.client.hooks - .getSecrets({ id: hook.id }) + .get(hook.id) + .then((hookWithCode) => + this.client.hooks.secrets + .get(hook.id) .then(({ data: secrets }) => ({ ...hookWithCode, secrets })) ) ) @@ -232,7 +228,7 @@ export default class HooksHandler extends DefaultHandler { const err = new Error( `Only one active hook allowed for "${type}" extensibility point. Conflicting hooks: ${conflict}` ); - //@ts-ignore need to investigate if appending status actually works here + // @ts-ignore need to investigate if appending status actually works here err.status = 409; throw err; } diff --git a/src/tools/auth0/handlers/logStreams.ts b/src/tools/auth0/handlers/logStreams.ts index 8f5de4cdc..f5589b5ba 100644 --- a/src/tools/auth0/handlers/logStreams.ts +++ b/src/tools/auth0/handlers/logStreams.ts @@ -69,6 +69,9 @@ export default class LogStreamsHandler extends DefaultAPIHandler { 'sink.splunkToken', 'sink.datadogApiKey', ], + functions: { + update: async (params, payload) => this.client.logStreams.update(params?.id, payload), + }, }); } @@ -81,8 +84,8 @@ export default class LogStreamsHandler extends DefaultAPIHandler { return this.existing; } - const logStreams = await this.client.logStreams.getAll().then(({ data: logStreams }) => - logStreams.map((logStream) => { + const logStreams = await this.client.logStreams.list().then((logStreamsResponse) => + logStreamsResponse.map((logStream) => { if (logStream.status === 'suspended') delete (logStream as any).status; return logStream; }) @@ -99,9 +102,9 @@ export default class LogStreamsHandler extends DefaultAPIHandler { if (!logStreams) return; - const changes = await this.calcChanges(assets).then((changes) => ({ - ...changes, - update: changes.update.map((update: LogStream) => { + const changes = await this.calcChanges(assets).then((changesResponse) => ({ + ...changesResponse, + update: changesResponse.update.map((update: LogStream) => { if (update.type === 'eventbridge' || update.type === 'eventgrid') { delete update.sink; } diff --git a/src/tools/auth0/handlers/networkACLs.ts b/src/tools/auth0/handlers/networkACLs.ts index 13792dd90..0090679e4 100644 --- a/src/tools/auth0/handlers/networkACLs.ts +++ b/src/tools/auth0/handlers/networkACLs.ts @@ -1,11 +1,11 @@ -import { GetNetworkAclsById200Response } from 'auth0'; +import { Management } from 'auth0'; import DefaultAPIHandler from './default'; import { Asset, Assets, CalculatedChanges } from '../../../types'; import { paginate } from '../client'; import log from '../../../logger'; // Define NetworkACL type -export type NetworkACL = GetNetworkAclsById200Response; +export type NetworkACL = Management.GetNetworkAclsResponseContent; // Define action types const BlockAction = { @@ -217,15 +217,22 @@ export default class NetworkACLsHandler extends DefaultAPIHandler { }); } + objString(acl: NetworkACL): string { + return super.objString({ + description: acl.description, + active: acl.active, + priority: acl.priority, + }); + } + async getType(): Promise { if (this.existing) { return this.existing; } try { - const networkACLs = await paginate(this.client.networkAcls.getAll, { + const networkACLs = await paginate(this.client.networkAcls.list, { paginate: true, - include_totals: true, }); this.existing = networkACLs; @@ -277,9 +284,9 @@ export default class NetworkACLsHandler extends DefaultAPIHandler { ); } - async createNetworkACL(acl: NetworkACL): Promise { - const { data: created } = await this.client.networkAcls.create(acl); - return created; + async createNetworkACL(acl: NetworkACL): Promise { + await this.client.networkAcls.create(acl as Management.CreateNetworkAclRequestContent); + return acl; } async createNetworkACLs(creates: CalculatedChanges['create']) { @@ -301,7 +308,12 @@ export default class NetworkACLsHandler extends DefaultAPIHandler { async updateNetworkACL(acl: NetworkACL) { const { id, ...updateParams } = acl; - const updated = await this.client.networkAcls.update({ id }, updateParams); + + if (!id) { + throw new Error(`Missing id for ${this.type} ${this.objString(acl)}`); + } + + const updated = await this.client.networkAcls.update(id, updateParams); return updated; } @@ -323,7 +335,10 @@ export default class NetworkACLsHandler extends DefaultAPIHandler { } async deleteNetworkACL(acl: NetworkACL): Promise { - await this.client.networkAcls.delete({ id: acl.id }); + if (!acl.id) { + throw new Error(`Missing id for ${this.type} ${this.objString(acl)}`); + } + await this.client.networkAcls.delete(acl.id); } async deleteNetworkACLs(data: Asset[]): Promise { diff --git a/src/tools/auth0/handlers/organizations.ts b/src/tools/auth0/handlers/organizations.ts index 7977fa9ea..77b030c9f 100644 --- a/src/tools/auth0/handlers/organizations.ts +++ b/src/tools/auth0/handlers/organizations.ts @@ -1,24 +1,14 @@ -import _, { isArray } from 'lodash'; -import { - Client, - ClientGrant, - Connection, - CreateOrganizationDiscoveryDomainRequestContent, - CreateOrganizationDiscoveryDomainResponseContent, - GetOrganizationClientGrants200ResponseOneOfInner, - GetOrganizationDiscoveryDomainResponseContent, - GetOrganizations200ResponseOneOfInner, - OrganizationDiscoveryDomain, - OrganizationDiscoveryDomainStatus, - PostEnabledConnectionsRequest, - UpdateOrganizationDiscoveryDomainResponseContent, -} from 'auth0'; +import { omit } from 'lodash'; +import { Management } from 'auth0'; import DefaultHandler, { order } from './default'; import { calculateChanges } from '../../calculateChanges'; import log from '../../../logger'; import { Asset, Assets, CalculatedChanges } from '../../../types'; import { paginate } from '../client'; import { convertClientIdToName } from '../../../utils'; +import { Client } from './clients'; +import { Connection } from './connections'; +import { ClientGrant } from './clientGrants'; export const schema = { type: 'array', @@ -92,11 +82,13 @@ export const schema = { }, }; +type Organization = Management.Organization; + type FormattedClientGrants = { // eslint-disable-next-line camelcase - grant_id: string; + grant_id: string | undefined; // eslint-disable-next-line camelcase - client_id: string; + client_id: string | undefined; }; export default class OrganizationsHandler extends DefaultHandler { @@ -113,7 +105,7 @@ export default class OrganizationsHandler extends DefaultHandler { } async deleteOrganization(org): Promise { - await this.client.organizations.delete({ id: org.id }); + await this.client.organizations.delete(org.id); } async deleteOrganizations(data: Asset[]): Promise { @@ -155,7 +147,7 @@ export default class OrganizationsHandler extends DefaultHandler { if (typeof org.connections !== 'undefined' && org.connections.length > 0) { await Promise.all( org.connections.map((conn) => - this.client.organizations.addEnabledConnection({ id: created.id }, conn) + this.client.organizations.enabledConnections.add(created.id, conn) ) ); } @@ -175,7 +167,9 @@ export default class OrganizationsHandler extends DefaultHandler { await this.client.pool .addEachTask({ data: org.discovery_domains, - generator: (discoveryDomain: CreateOrganizationDiscoveryDomainRequestContent) => + generator: ( + discoveryDomain: Management.CreateOrganizationDiscoveryDomainRequestContent + ) => this.createOrganizationDiscoveryDomain(created.id, { domain: discoveryDomain?.domain, status: discoveryDomain?.status, @@ -227,7 +221,7 @@ export default class OrganizationsHandler extends DefaultHandler { delete org.client_grants; delete org.discovery_domains; - await this.client.organizations.update(params, org); + await this.client.organizations.update(params.id, org); // organization connections const connectionsToRemove = existingConnections.filter( @@ -249,15 +243,12 @@ export default class OrganizationsHandler extends DefaultHandler { // Handle updates first await Promise.all( connectionsToUpdate.map((conn) => - this.client.organizations - .updateEnabledConnection( - { connectionId: conn.connection_id, ...params }, - { - assign_membership_on_login: conn.assign_membership_on_login, - show_as_button: conn.show_as_button, - is_signup_enabled: conn.is_signup_enabled, - } - ) + this.client.organizations.enabledConnections + .update(params.id, conn.connection_id, { + assign_membership_on_login: conn.assign_membership_on_login, + show_as_button: conn.show_as_button, + is_signup_enabled: conn.is_signup_enabled, + }) .catch(() => { throw new Error( `Problem updating Enabled Connection ${conn.connection_id} for organizations ${params.id}` @@ -268,13 +259,13 @@ export default class OrganizationsHandler extends DefaultHandler { await Promise.all( connectionsToAdd.map((conn) => - this.client.organizations - .addEnabledConnection( - params, - _.omit( + this.client.organizations.enabledConnections + .add( + params.id, + omit( conn, 'connection' - ) as PostEnabledConnectionsRequest + ) as Management.AddOrganizationConnectionRequestContent ) .catch(() => { throw new Error( @@ -286,8 +277,8 @@ export default class OrganizationsHandler extends DefaultHandler { await Promise.all( connectionsToRemove.map((conn) => - this.client.organizations - .deleteEnabledConnection({ connectionId: conn.connection_id, ...params }) + this.client.organizations.enabledConnections + .delete(params.id, conn.connection_id) .catch(() => { throw new Error( `Problem removing Enabled Connection ${conn.connection_id} for organizations ${params.id}` @@ -420,13 +411,11 @@ export default class OrganizationsHandler extends DefaultHandler { async getFormattedClientGrants(): Promise { const [clients, clientGrants] = await Promise.all([ - paginate(this.client.clients.getAll, { + paginate(this.client.clients.list, { paginate: true, - include_totals: true, }), - paginate(this.client.clientGrants.getAll, { + paginate(this.client.clientGrants.list, { paginate: true, - include_totals: true, }), ]); @@ -438,6 +427,7 @@ export default class OrganizationsHandler extends DefaultHandler { if (found) grant.client_id = found.name; return grant; }); + return formattedClientGrantsMapping; } @@ -463,43 +453,36 @@ export default class OrganizationsHandler extends DefaultHandler { return this.existing; } - if (!this.client.organizations || typeof this.client.organizations.getAll !== 'function') { - return []; - } - try { const [organizations, clients] = await Promise.all([ - paginate(this.client.organizations.getAll, { + paginate(this.client.organizations.list, { checkpoint: true, - include_totals: true, }), - paginate(this.client.clients.getAll, { + paginate(this.client.clients.list, { paginate: true, - include_totals: true, }), ]); for (let index = 0; index < organizations.length; index++) { - // Get enabled connections for each organization - const { data: connections } = await this.client.organizations.getEnabledConnections({ - id: organizations[index].id, - }); - organizations[index].connections = connections; - - // Get client grants for each organization - const organizationClientGrants = await this.getOrganizationClientGrants( - organizations[index].id - ); - organizations[index].client_grants = organizationClientGrants?.map((clientGrant) => ({ - client_id: convertClientIdToName(clientGrant.client_id, clients), + const org = organizations[index]; + if (!org?.id) { + throw new Error(`Organization ${index} is missing an ID`); + } + + const connections = await this.getOrganizationEnabledConnections(org.id); + + org.connections = connections; + + const organizationClientGrants = await this.getOrganizationClientGrants(org.id); + + org.client_grants = organizationClientGrants?.map((clientGrant) => ({ + client_id: convertClientIdToName(clientGrant.client_id as string, clients), })); // Get discovery domains for each organization - const organizationDiscoveryDomains = await this.getAllOrganizationDiscoveryDomains( - organizations[index].id - ); + const organizationDiscoveryDomains = await this.getAllOrganizationDiscoveryDomains(org.id); if (organizationDiscoveryDomains) { - organizations[index].discovery_domains = organizationDiscoveryDomains; + org.discovery_domains = organizationDiscoveryDomains; } } @@ -522,9 +505,8 @@ export default class OrganizationsHandler extends DefaultHandler { // Gets organizations from destination tenant const existing = await this.getType(); - const existingConnections = await paginate(this.client.connections.getAll, { + const existingConnections = await paginate(this.client.connections.list, { checkpoint: true, - include_totals: true, }); // We need to get the connection ids for the names configured so we can link them together @@ -582,35 +564,34 @@ export default class OrganizationsHandler extends DefaultHandler { ); } - async getOrganizationClientGrants( + async getOrganizationEnabledConnections( organizationId: string - ): Promise { - // paginate without paginate helper as this is not getAll but getOrganizationClientGrants - // paginate through all oranizaion client grants for oranizaion id - const allOrganizationClientGrants: GetOrganizationClientGrants200ResponseOneOfInner[] = []; - let page = 0; - while (true) { - const { - data: { client_grants: organizationClientGrants, total }, - } = await this.client.organizations.getOrganizationClientGrants({ - id: organizationId, - page: page, - per_page: 100, - include_totals: true, - }); - - // if we get an unexpected response, break the loop to avoid infinite loop - if (!isArray(organizationClientGrants) || typeof total !== 'number') { - break; - } + ): Promise { + const allOrganizationConnections: Management.OrganizationConnection[] = []; - allOrganizationClientGrants.push(...organizationClientGrants); - page += 1; + let organizationConnections = await this.client.organizations.enabledConnections.list( + organizationId + ); + do { + allOrganizationConnections.push(...organizationConnections.data); + organizationConnections = await organizationConnections.getNextPage(); + } while (organizationConnections.hasNextPage()); - if (allOrganizationClientGrants.length === total) { - break; - } - } + return allOrganizationConnections; + } + + async getOrganizationClientGrants( + organizationId: string + ): Promise { + const allOrganizationClientGrants: Management.OrganizationClientGrant[] = []; + + let organizationClientGrants = await this.client.organizations.clientGrants.list( + organizationId + ); + do { + allOrganizationClientGrants.push(...organizationClientGrants.data); + organizationClientGrants = await organizationClientGrants.getNextPage(); + } while (organizationClientGrants.hasNextPage()); return allOrganizationClientGrants; } @@ -618,57 +599,37 @@ export default class OrganizationsHandler extends DefaultHandler { async createOrganizationClientGrants( organizationId: string, grantId: string - ): Promise { + ): Promise { log.debug(`Creating organization client grant ${grantId} for organization ${organizationId}`); - const { data: organizationClientGrants } = - await this.client.organizations.postOrganizationClientGrants( - { - id: organizationId, - }, - { - grant_id: grantId, - } - ); + const organizationClientGrants = await this.client.organizations.clientGrants.create( + organizationId, + { + grant_id: grantId, + } + ); return organizationClientGrants; } async deleteOrganizationClientGrants(organizationId: string, grantId: string): Promise { log.debug(`Deleting organization client grant ${grantId} for organization ${organizationId}`); - await this.client.organizations.deleteClientGrantsByGrantId({ - id: organizationId, - grant_id: grantId, - }); + await this.client.organizations.clientGrants.delete(organizationId, grantId); } async getAllOrganizationDiscoveryDomains( organizationId: string - ): Promise { + ): Promise { // paginate using checkpoint pagination for getAllDiscoveryDomains - const allDiscoveryDomains: OrganizationDiscoveryDomain[] = []; - - const requestArgs: any = { id: organizationId, take: 50 }; - let next: string | undefined; + const allDiscoveryDomains: Management.OrganizationDiscoveryDomain[] = []; try { + let orgDiscoveryDomain = await this.client.organizations.discoveryDomains.list( + organizationId + ); do { - if (next) { - requestArgs.from = next; - } else { - delete requestArgs.from; - } - - const rsp = await this.client.pool - .addSingleTask({ - data: requestArgs, - generator: (args) => this.client.organizations.getAllDiscoveryDomains(args), - }) - .promise(); - const discoveryDomains = Array.isArray(rsp.data) ? rsp.data : rsp.data?.domains || []; - - allDiscoveryDomains.push(...discoveryDomains); - next = rsp.data?.next; - } while (next); + allDiscoveryDomains.push(...orgDiscoveryDomain.data); + orgDiscoveryDomain = await orgDiscoveryDomain.getNextPage(); + } while (orgDiscoveryDomain.hasNextPage()); return allDiscoveryDomains; } catch (err) { @@ -688,38 +649,39 @@ export default class OrganizationsHandler extends DefaultHandler { async getOrganizationDiscoveryDomain( organizationId: string, discoveryDomainId: string - ): Promise { - const { data } = await this.client.organizations.getDiscoveryDomain({ - id: organizationId, - discovery_domain_id: discoveryDomainId, - }); - return data; + ): Promise { + const orgDiscoveryDomain = await this.client.organizations.discoveryDomains.get( + organizationId, + discoveryDomainId + ); + return orgDiscoveryDomain; } async createOrganizationDiscoveryDomain( organizationId: string, - discoveryDomain: CreateOrganizationDiscoveryDomainRequestContent - ): Promise { + discoveryDomain: Management.CreateOrganizationDiscoveryDomainRequestContent + ): Promise { log.debug( `Creating discovery domain ${discoveryDomain.domain} for organization ${organizationId}` ); - const { data } = await this.client.pool + const orgDiscoveryDomain = await this.client.pool .addSingleTask({ data: { id: organizationId, }, - generator: (args) => this.client.organizations.createDiscoveryDomain(args, discoveryDomain), + generator: (args) => + this.client.organizations.discoveryDomains.create(args.id, discoveryDomain), }) .promise(); - return data; + return orgDiscoveryDomain; } async updateOrganizationDiscoveryDomain( organizationId: string, discoveryDomainId: string, discoveryDomain: string, - status: OrganizationDiscoveryDomainStatus - ): Promise { + status: Management.OrganizationDiscoveryDomainStatus + ): Promise { log.debug(`Updating discovery domain ${discoveryDomain} for organization ${organizationId}`); // stripUpdateFields does not support in sub modules @@ -730,19 +692,19 @@ export default class OrganizationsHandler extends DefaultHandler { )}` ); - const { data } = await this.client.pool + const discoveryDomainUpdated = await this.client.pool .addSingleTask({ data: { id: organizationId, - discovery_domain_id: discoveryDomainId, + discoveryDomainId: discoveryDomainId, }, generator: (args) => - this.client.organizations.updateDiscoveryDomain(args, { - status, + this.client.organizations.discoveryDomains.update(args.id, args.discoveryDomainId, { + status: status, }), }) .promise(); - return data; + return discoveryDomainUpdated; } async deleteOrganizationDiscoveryDomain( @@ -755,9 +717,10 @@ export default class OrganizationsHandler extends DefaultHandler { .addSingleTask({ data: { id: organizationId, - discovery_domain_id: discoveryDomainId, + discoveryDomainId: discoveryDomainId, }, - generator: (args) => this.client.organizations.deleteDiscoveryDomain(args), + generator: (args) => + this.client.organizations.discoveryDomains.delete(args.id, args.discoveryDomainId), }) .promise(); } diff --git a/src/tools/auth0/handlers/pages.ts b/src/tools/auth0/handlers/pages.ts index 745ce7be2..f0cb8a47d 100644 --- a/src/tools/auth0/handlers/pages.ts +++ b/src/tools/auth0/handlers/pages.ts @@ -1,8 +1,8 @@ -import { Client } from 'auth0'; import DefaultHandler from './default'; import constants from '../../constants'; import { Asset, Assets } from '../../../types'; import { paginate } from '../client'; +import { Client } from './clients'; export const supportedPages = constants.PAGE_NAMES.filter((p) => p.includes('.json')).map((p) => p.replace('.json', '') @@ -15,6 +15,7 @@ export const pageNameMap = { }; export type Page = { + // eslint-disable-next-line camelcase show_log_link?: boolean; name: string; enabled?: boolean; @@ -52,9 +53,8 @@ export default class PagesHandler extends DefaultHandler { } async updateLoginPage(page): Promise { - const globalClient = await paginate(this.client.clients.getAll, { + const globalClient = await paginate(this.client.clients.list, { paginate: true, - include_totals: true, is_global: true, }); @@ -62,13 +62,14 @@ export default class PagesHandler extends DefaultHandler { throw new Error('Unable to find global client id when trying to update the login page'); } - await this.client.clients.update( - { client_id: globalClient[0].client_id }, - { - custom_login_page: page.html, - custom_login_page_on: page.enabled, - } - ); + if (!globalClient[0].client_id) { + throw new Error('Unable to find global client id when trying to update the login page'); + } + + await this.client.clients.update(globalClient[0].client_id, { + custom_login_page: page.html, + custom_login_page_on: page.enabled, + }); this.updated += 1; this.didUpdate(page); } @@ -88,7 +89,7 @@ export default class PagesHandler extends DefaultHandler { }, {}); if (Object.keys(update).length) { - await this.client.tenants.updateSettings(update); + await this.client.tenants.settings.update(update); } toUpdate.forEach((page) => { @@ -105,7 +106,7 @@ export default class PagesHandler extends DefaultHandler { }[] = []; // Login page is handled via the global client - const globalClient = await paginate(this.client.clients.getAll, { + const globalClient = await paginate(this.client.clients.list, { paginate: true, include_totals: true, is_global: true, @@ -122,7 +123,7 @@ export default class PagesHandler extends DefaultHandler { }); } - const { data: tenantSettings } = await this.client.tenants.getSettings(); + const tenantSettings = await this.client.tenants.settings.get(); Object.entries(pageNameMap).forEach(([key, name]) => { const page = tenantSettings[name]; diff --git a/src/tools/auth0/handlers/phoneProvider.ts b/src/tools/auth0/handlers/phoneProvider.ts index 2c60baeb4..da6eb4470 100644 --- a/src/tools/auth0/handlers/phoneProvider.ts +++ b/src/tools/auth0/handlers/phoneProvider.ts @@ -1,9 +1,4 @@ -import { - CreatePhoneProviderRequest, - DeletePhoneProviderRequest, - GetBrandingPhoneProviders200ResponseProvidersInner, - UpdatePhoneProviderOperationRequest, -} from 'auth0'; +import { Management } from 'auth0'; import DefaultHandler, { order } from './default'; import { Assets } from '../../../types'; import log from '../../../logger'; @@ -106,7 +101,7 @@ export const schema = { }, }; -export type PhoneProvider = GetBrandingPhoneProviders200ResponseProvidersInner; +export type PhoneProvider = Management.GetBrandingPhoneProviderResponseContent; export default class PhoneProviderHandler extends DefaultHandler { existing: PhoneProvider[] | null; @@ -119,7 +114,7 @@ export default class PhoneProviderHandler extends DefaultHandler { } objString(provider: PhoneProvider): string { - return super.objString({ name: provider.name, disabled: provider.disabled }); //Que + return super.objString({ name: provider.name, disabled: provider.disabled }); } async getType(): Promise { @@ -131,7 +126,7 @@ export default class PhoneProviderHandler extends DefaultHandler { } async getPhoneProviders(): Promise { - const { data: response } = await this.client.branding.getAllPhoneProviders(); + const response = await this.client.branding.phone.providers.list(); return response.providers ?? []; } @@ -162,9 +157,11 @@ export default class PhoneProviderHandler extends DefaultHandler { } const currentProvider = currentProviders[0]; - await this.client.branding.deletePhoneProvider({ - id: currentProvider.id, - }); + if (!currentProvider.id) { + throw new Error('Unable to find phone provider id when trying to delete'); + } + + await this.client.branding.phone.providers.delete(currentProvider.id); this.deleted += 1; this.didDelete(currentProvider); @@ -192,16 +189,16 @@ export default class PhoneProviderHandler extends DefaultHandler { if (currentProviders === null || currentProviders.length === 0) { // if provider does not exist, create it this.created += 1; - await this.client.branding.configurePhoneProvider( - providerReqPayload as CreatePhoneProviderRequest + await this.client.branding.phone.providers.create( + providerReqPayload as Management.CreateBrandingPhoneProviderRequestContent ); } else { const currentProvider = currentProviders[0]; + if (!currentProvider.id) { + throw new Error('Unable to find phone provider id when trying to delete'); + } // if provider exists, overwrite it - await this.client.branding.updatePhoneProvider( - { id: currentProvider.id } as UpdatePhoneProviderOperationRequest, - providerReqPayload - ); + await this.client.branding.phone.providers.update(currentProvider.id, providerReqPayload); this.updated += 1; this.didUpdate(phoneProviders[0]); diff --git a/src/tools/auth0/handlers/prompts.ts b/src/tools/auth0/handlers/prompts.ts index 977921842..47c2ea477 100644 --- a/src/tools/auth0/handlers/prompts.ts +++ b/src/tools/auth0/handlers/prompts.ts @@ -1,15 +1,9 @@ import { isEmpty } from 'lodash'; -import { - GetPartialsPromptEnum, - GetAllRendering200ResponseOneOfInner, - GetRenderingScreenEnum, - PatchRenderingRequest, - PatchRenderingRequestRenderingModeEnum, - PutPartialsRequest, -} from 'auth0'; +import { Management } from 'auth0'; import DefaultHandler from './default'; import { Assets, Language, languages } from '../../../types'; import log from '../../../logger'; +import { paginate } from '../client'; const promptTypes = [ 'login', @@ -305,7 +299,7 @@ export type AllPromptsByLanguage = Partial<{ [key in Language]: Partial; }>; -export type ScreenRenderer = Partial; +export type ScreenRenderer = Management.AculResponseContent; export type Prompts = Partial< PromptSettings & { @@ -339,10 +333,9 @@ export default class PromptsHandler extends DefaultHandler { } async getType(): Promise { - const { data: promptsSettings } = await this.client.prompts.get(); + const promptsSettings = await this.client.prompts.getSettings(); const customText = await this.getCustomTextSettings(); - const partials = await this.getCustomPromptsPartials(); const prompts: Prompts = { @@ -355,8 +348,11 @@ export default class PromptsHandler extends DefaultHandler { if (includeExperimentalEA) { try { - const { data } = await this.client.prompts.getAllRenderingSettings(); - prompts.screenRenderers = data; + const screenRenderers = await paginate(this.client.prompts.rendering.list, { + paginate: true, + }); + + prompts.screenRenderers = screenRenderers ?? []; } catch (error) { log.warn(`Unable to fetch screen renderers: ${error}`); } @@ -366,12 +362,10 @@ export default class PromptsHandler extends DefaultHandler { } async getCustomTextSettings(): Promise { - const supportedLanguages = await this.client.tenants - .getSettings() - .then(({ data: { enabled_locales } }) => { - if (enabled_locales === undefined) return []; // In rare cases, private cloud tenants may not have `enabled_locales` defined - return enabled_locales; - }); + const supportedLanguages = await this.client.tenants.settings.get().then((res) => { + if (res.enabled_locales === undefined) return []; // In rare cases, private cloud tenants may not have `enabled_locales` defined + return res.enabled_locales; + }); return this.client.pool .addEachTask({ @@ -380,24 +374,19 @@ export default class PromptsHandler extends DefaultHandler { .map((language) => promptTypes.map((promptType) => ({ promptType, language }))) .reduce((acc, val) => acc.concat(val), []) || [], generator: ({ promptType, language }) => - this.client.prompts - .getCustomTextByLanguage({ - prompt: promptType, + this.client.prompts.customText.get(promptType, language).then((customTextData) => { + if (isEmpty(customTextData)) return null; + return { language, - }) - .then(({ data: customTextData }) => { - if (isEmpty(customTextData)) return null; - return { - language, - [promptType]: { - ...customTextData, - }, - }; - }), + [promptType]: { + ...customTextData, + }, + }; + }), }) .promise() - .then((customTextData) => - customTextData + .then((customTextResponse) => + customTextResponse .filter((customTextData) => customTextData !== null) .reduce((acc: AllPromptsByLanguage, customTextItem) => { if (customTextItem?.language === undefined) return acc; @@ -454,10 +443,10 @@ export default class PromptsHandler extends DefaultHandler { async getCustomPartial({ prompt, }: { - prompt: GetPartialsPromptEnum; + prompt: Management.PartialGroupsEnum; }): Promise { if (!this.IsFeatureSupported) return {}; - return this.withErrorHandling(async () => this.client.prompts.getPartials({ prompt })); + return this.withErrorHandling(async () => this.client.prompts.partials.get(prompt)); } async getCustomPromptsPartials(): Promise { @@ -466,10 +455,10 @@ export default class PromptsHandler extends DefaultHandler { data: customPartialsPromptTypes, generator: (promptType) => this.getCustomPartial({ - prompt: promptType as GetPartialsPromptEnum, + prompt: promptType as Management.PartialGroupsEnum, }).then((partialsData: CustomPromptPartials) => { - if (isEmpty(partialsData?.data)) return null; - return { promptType, partialsData: partialsData.data }; + if (isEmpty(partialsData)) return null; + return { promptType, partialsData }; }), }) .promise(); @@ -497,7 +486,7 @@ export default class PromptsHandler extends DefaultHandler { const { partials, customText, screenRenderers, ...promptSettings } = prompts; if (!isEmpty(promptSettings)) { - await this.client.prompts.update(promptSettings); + await this.client.prompts.updateSettings(promptSettings); } await this.updateCustomTextSettings(customText); @@ -533,7 +522,7 @@ export default class PromptsHandler extends DefaultHandler { }); }), generator: ({ prompt, language, body }) => - this.client.prompts.updateCustomTextByLanguage({ prompt, language }, body), + this.client.prompts.customText.set(prompt, language, body), }) .promise(); } @@ -542,13 +531,11 @@ export default class PromptsHandler extends DefaultHandler { prompt, body, }: { - prompt: CustomPartialsPromptTypes; - body: CustomPromptPartialsScreens; + prompt: Management.PartialGroupsEnum; + body: Management.SetPartialsRequestContent; }): Promise { if (!this.IsFeatureSupported) return; - await this.withErrorHandling(async () => - this.client.prompts.updatePartials({ prompt } as PutPartialsRequest, body) - ); + await this.withErrorHandling(async () => this.client.prompts.partials.set(prompt, body)); } async updateCustomPromptsPartials(partials: Prompts['partials']): Promise { @@ -558,7 +545,7 @@ export default class PromptsHandler extends DefaultHandler { if (!partials) return; await this.client.pool .addEachTask({ - data: Object.keys(partials).map((prompt: CustomPartialsPromptTypes) => { + data: Object.keys(partials).map((prompt: Management.PartialGroupsEnum) => { const body = partials[prompt] || {}; return { body, @@ -571,30 +558,29 @@ export default class PromptsHandler extends DefaultHandler { } async updateScreenRenderer(screenRenderer: ScreenRenderer): Promise { - const { prompt, screen, rendering_mode, tenant, default_head_tags_disabled, ...updatePrams } = - screenRenderer; + const { prompt, screen, ...updatePrams } = screenRenderer; if (!prompt || !screen) return; - let updatePayload: PatchRenderingRequest = {}; + let updatePayload: Management.UpdateAculRequestContent; - if (rendering_mode === PatchRenderingRequestRenderingModeEnum.standard) { + if (screenRenderer.rendering_mode === Management.AculRenderingModeEnum.Standard) { updatePayload = { - rendering_mode, + rendering_mode: Management.AculRenderingModeEnum.Standard, + head_tags: screenRenderer.head_tags as Management.AculHeadTag[], }; } else { updatePayload = { ...updatePrams, - rendering_mode, - default_head_tags_disabled: default_head_tags_disabled || undefined, + rendering_mode: Management.AculRenderingModeEnum.Advanced, + default_head_tags_disabled: screenRenderer.default_head_tags_disabled || undefined, + head_tags: screenRenderer.head_tags as Management.AculHeadTag[], }; } try { - await this.client.prompts.updateRendering( - { - prompt: prompt as GetPartialsPromptEnum, - screen: screen as GetRenderingScreenEnum, - }, + await this.client.prompts.rendering.update( + prompt as Management.PromptGroupNameEnum, + screen as Management.ScreenGroupNameEnum, { ...updatePayload, } diff --git a/src/tools/auth0/handlers/resourceServers.ts b/src/tools/auth0/handlers/resourceServers.ts index d8bc012b5..e8ee2cd89 100644 --- a/src/tools/auth0/handlers/resourceServers.ts +++ b/src/tools/auth0/handlers/resourceServers.ts @@ -1,9 +1,4 @@ -import { - ResourceServer, - ResourceServerProofOfPossessionMechanismEnum, - ResourceServerSubjectTypeAuthorizationClientPolicyEnum, - ResourceServerSubjectTypeAuthorizationUserPolicyEnum, -} from 'auth0'; +import { Management } from 'auth0'; import ValidationError from '../../validationError'; import constants from '../../constants'; @@ -17,6 +12,8 @@ export const excludeSchema = { items: { type: 'string' }, }; +export type ResourceServer = Management.ResourceServer; + export const schema = { type: 'array', items: { @@ -41,7 +38,7 @@ export const schema = { properties: { mechanism: { type: 'string', - enum: Object.values(ResourceServerProofOfPossessionMechanismEnum), + enum: Object.values(Management.ResourceServerProofOfPossessionMechanismEnum), }, required: { type: 'boolean' }, }, @@ -56,7 +53,9 @@ export const schema = { properties: { policy: { type: 'string', - enum: Object.values(ResourceServerSubjectTypeAuthorizationUserPolicyEnum), + enum: Object.values( + Management.ResourceServerSubjectTypeAuthorizationUserPolicyEnum + ), }, }, }, @@ -66,7 +65,9 @@ export const schema = { properties: { policy: { type: 'string', - enum: Object.values(ResourceServerSubjectTypeAuthorizationClientPolicyEnum), + enum: Object.values( + Management.ResourceServerSubjectTypeAuthorizationClientPolicyEnum + ), }, }, }, @@ -94,6 +95,12 @@ export default class ResourceServersHandler extends DefaultHandler { identifiers: ['id', 'identifier'], stripCreateFields: ['client_id'], stripUpdateFields: ['identifier', 'client_id'], + functions: { + update: async ( + { id }: { id: string }, + bodyParams: Management.UpdateResourceServerRequestContent + ) => this.client.resourceServers.update(id, bodyParams), + }, }); } @@ -104,9 +111,8 @@ export default class ResourceServersHandler extends DefaultHandler { async getType(): Promise { if (this.existing) return this.existing; - const resourceServers = await paginate(this.client.resourceServers.getAll, { + const resourceServers = await paginate(this.client.resourceServers.list, { paginate: true, - include_totals: true, }); return resourceServers.filter( (rs) => rs.name !== constants.RESOURCE_SERVERS_MANAGEMENT_API_NAME @@ -130,8 +136,8 @@ export default class ResourceServersHandler extends DefaultHandler { let existing = await this.getType(); // Filter excluded - resourceServers = resourceServers.filter((r) => !excluded.includes(r.name)); - existing = existing.filter((r) => !excluded.includes(r.name)); + resourceServers = resourceServers.filter((r) => r.name && !excluded.includes(r.name)); + existing = existing.filter((r) => r.name && !excluded.includes(r.name)); return calculateChanges({ handler: this, @@ -159,4 +165,17 @@ export default class ResourceServersHandler extends DefaultHandler { await super.validate(assets); } + + async processChanges(assets: Assets): Promise { + const { resourceServers } = assets; + + // Do nothing if not set + if (!resourceServers) return; + + const changes = await this.calcChanges(assets); + + await super.processChanges(assets, { + ...changes, + }); + } } diff --git a/src/tools/auth0/handlers/roles.ts b/src/tools/auth0/handlers/roles.ts index d40f55dd2..64b9d0bf7 100644 --- a/src/tools/auth0/handlers/roles.ts +++ b/src/tools/auth0/handlers/roles.ts @@ -1,5 +1,4 @@ -import { GetOrganizationMemberRoles200ResponseOneOfInner, Permission, ResourceServer } from 'auth0'; -import { isArray } from 'lodash'; +import { Management } from 'auth0'; import DefaultHandler, { order } from './default'; import { calculateChanges } from '../../calculateChanges'; import log from '../../../logger'; @@ -29,6 +28,7 @@ export const schema = { }, }; +type Role = Management.GetRoleResponseContent; export default class RolesHandler extends DefaultHandler { existing: Asset[]; @@ -44,10 +44,10 @@ export default class RolesHandler extends DefaultHandler { const role = { ...data }; delete role.permissions; - const { data: created } = await this.client.roles.create(role); + const created = await this.client.roles.create(role); - if (typeof data.permissions !== 'undefined' && data.permissions.length > 0) { - await this.client.roles.addPermissions({ id: created.id }, { permissions: data.permissions }); + if (created.id && typeof data.permissions !== 'undefined' && data.permissions.length > 0) { + await this.client.roles.permissions.add(created.id, { permissions: data.permissions }); } return created; @@ -71,7 +71,7 @@ export default class RolesHandler extends DefaultHandler { } async deleteRole(data) { - await this.client.roles.delete({ id: data.id }); + await this.client.roles.delete(data.id); } async deleteRoles(dels: CalculatedChanges['del']): Promise { @@ -110,14 +110,16 @@ export default class RolesHandler extends DefaultHandler { delete data.permissions; delete data.id; - await this.client.roles.update(params, data); + await this.client.roles.update(params.id, data); if (typeof existingRole.permissions !== 'undefined' && existingRole.permissions.length > 0) { - await this.client.roles.deletePermissions(params, { permissions: existingRole.permissions }); + await this.client.roles.permissions.delete(params.id, { + permissions: existingRole.permissions, + }); } if (typeof newPermissions !== 'undefined' && newPermissions.length > 0) { - await this.client.roles.addPermissions(params, { permissions: newPermissions }); + await this.client.roles.permissions.add(params.id, { permissions: newPermissions }); } return params; @@ -145,29 +147,20 @@ export default class RolesHandler extends DefaultHandler { return this.existing; } - // in case client version does not support roles - if (!this.client.roles || typeof this.client.roles.getAll !== 'function') { - return []; - } - try { - const roles = await paginate( - this.client.roles.getAll, - { - paginate: true, - include_totals: true, - } - ); + const roles = await paginate(this.client.roles.list, { + paginate: true, + include_totals: true, + }); for (let index = 0; index < roles.length; index++) { - // paginate without paginate helper as this is not getAll but getPermissions - // paginate through all permissions for each role - const allPermission: Permission[] = []; + const allPermission: Management.PermissionsResponsePayload[] = []; + /* let page = 0; while (true) { const { data: { permissions, total }, - } = await this.client.roles.getPermissions({ + } = await this.client.roles.permissions.list({ include_totals: true, id: roles[index].id, page: page, @@ -184,6 +177,14 @@ export default class RolesHandler extends DefaultHandler { break; } } + */ + + const rolesId = roles[index].id as string; + let permissions = await this.client.roles.permissions.list(rolesId, { per_page: 100 }); + do { + allPermission.push(...permissions.data); + permissions = await permissions.getNextPage(); + } while (permissions.hasNextPage()); const strippedPerms = await Promise.all( allPermission.map(async (permission) => { @@ -235,7 +236,7 @@ export default class RolesHandler extends DefaultHandler { if (change.del) await this.deleteRoles(change.del); break; case change.create && change.create.length > 0: - await this.createRoles(changes.create); //TODO: fix this tho change.create + await this.createRoles(changes.create); break; case change.update && change.update.length > 0: if (change.update) await this.updateRoles(change.update, existing); diff --git a/src/tools/auth0/handlers/rules.ts b/src/tools/auth0/handlers/rules.ts index b88df00c8..6d365e5c9 100644 --- a/src/tools/auth0/handlers/rules.ts +++ b/src/tools/auth0/handlers/rules.ts @@ -1,4 +1,4 @@ -import { Rule } from 'auth0'; +import { Management } from 'auth0'; import ValidationError from '../../validationError'; import { convertJsonToString, stripFields, duplicateItems, isDeprecatedError } from '../../utils'; import DefaultHandler from './default'; @@ -51,6 +51,8 @@ export const schema = { }, }; +type Rule = Management.Rule; + export default class RulesHandler extends DefaultHandler { existing: Asset[]; @@ -66,9 +68,8 @@ export default class RulesHandler extends DefaultHandler { try { if (this.existing) return this.existing; - const rules = await paginate(this.client.rules.getAll, { + const rules = await paginate(this.client.rules.list, { paginate: true, - include_totals: true, }); this.existing = rules; return this.existing; @@ -124,7 +125,7 @@ export default class RulesHandler extends DefaultHandler { const existingMaxOrder = Math.max(...existing.map((r) => r.order)); let nextOrderNo = Math.max(futureMaxOrder, existingMaxOrder); - //@ts-ignore because we know reOrder is Asset[] + // @ts-ignore because we know reOrder is Asset[] const reOrder: Asset[] = futureRules.reduce((accum: Asset[], r: Asset) => { if (existing === null) return accum; const conflict = existing.find((f) => r.order === f.order && r.name !== f.name); @@ -222,7 +223,7 @@ export default class RulesHandler extends DefaultHandler { data: changes.reOrder, generator: (rule) => this.client.rules - .update({ id: rule.id }, stripFields(rule, this.stripUpdateFields)) + .update(rule.id, stripFields(rule, this.stripUpdateFields)) .then(() => { const updated = { name: rule.name, diff --git a/src/tools/auth0/handlers/rulesConfigs.ts b/src/tools/auth0/handlers/rulesConfigs.ts index 170e914b8..45f5755b5 100644 --- a/src/tools/auth0/handlers/rulesConfigs.ts +++ b/src/tools/auth0/handlers/rulesConfigs.ts @@ -30,7 +30,7 @@ export default class RulesConfigsHandler extends DefaultHandler { async getType(): Promise { try { - const { data } = await this.client.rulesConfigs.getAll(); + const data = await this.client.rulesConfigs.list(); return data; } catch (err) { if (isDeprecatedError(err)) return null; diff --git a/src/tools/auth0/handlers/scimHandler.ts b/src/tools/auth0/handlers/scimHandler.ts index bf3acb89a..560488672 100644 --- a/src/tools/auth0/handlers/scimHandler.ts +++ b/src/tools/auth0/handlers/scimHandler.ts @@ -1,5 +1,5 @@ import { PromisePoolExecutor } from 'promise-pool-executor'; -import { ConnectionCreate } from 'auth0'; +import { Management } from 'auth0'; import { Asset, Auth0APIClient } from '../../../types'; import log from '../../../logger'; import { ConfigFunction } from '../../../configFactory'; @@ -94,13 +94,17 @@ export default class ScimHandler { this.idMap.set(connection.id, { strategy: connection.strategy }); return this.getScimConfiguration({ id: connection.id }) .then((response) => { - const scimConfiguration = response?.data; + const scimConfiguration = response; if (scimConfiguration) { + // eslint-disable-next-line camelcase const { mapping, user_id_attribute, connection_id } = scimConfiguration; - this.idMap.set(connection_id, { - ...this.idMap.get(connection_id)!, - scimConfiguration: { mapping, user_id_attribute }, - }); + // eslint-disable-next-line camelcase + if (connection_id) { + this.idMap.set(connection_id, { + ...this.idMap.get(connection_id)!, + scimConfiguration: { mapping, user_id_attribute }, + }); + } } }) .catch((error) => { @@ -225,7 +229,7 @@ export default class ScimHandler { return this.withErrorHandling( async () => - this.connectionsManager.createScimConfiguration({ id }, { user_id_attribute, mapping }), + this.connectionsManager.scimConfiguration.create(id, { user_id_attribute, mapping }), 'create', id ); @@ -234,11 +238,13 @@ export default class ScimHandler { /** * Retrieves `SCIM` configuration of an enterprise connection. */ - async getScimConfiguration({ id }: ScimRequestParams): Promise { + async getScimConfiguration({ + id, + }: ScimRequestParams): Promise { log.debug(`Getting SCIM configuration from connection ${id}`); return this.withErrorHandling( - async () => this.connectionsManager.getScimConfiguration({ id }), + async () => this.connectionsManager.scimConfiguration.get(id), 'get', id ); @@ -256,7 +262,7 @@ export default class ScimHandler { return this.withErrorHandling( async () => - this.connectionsManager.updateScimConfiguration({ id }, { user_id_attribute, mapping }), + this.connectionsManager.scimConfiguration.update(id, { user_id_attribute, mapping }), 'patch', id ); @@ -269,7 +275,7 @@ export default class ScimHandler { log.debug(`Deleting SCIM configuration on connection ${id}`); return this.withErrorHandling( - async () => this.connectionsManager.deleteScimConfiguration({ id }), + async () => this.connectionsManager.scimConfiguration.delete(id), 'delete', id ); @@ -282,7 +288,7 @@ export default class ScimHandler { delete bodyParams.scim_configuration; // First, update `connections`. - const updated = await this.connectionsManager.update(requestParams, bodyParams); + const updated = await this.connectionsManager.update(requestParams.id, bodyParams); const idMapEntry = this.idMap.get(requestParams.id); // Now, update `scim_configuration` inside the updated connection. @@ -319,9 +325,11 @@ export default class ScimHandler { delete bodyParams.scim_configuration; // First, create the new `connection`. - const { data } = await this.connectionsManager.create(bodyParams as ConnectionCreate); + const data = await this.connectionsManager.create( + bodyParams as Management.CreateConnectionRequestContent + ); - if (scimBodyParams && this.scimScopes.create) { + if (data?.id && scimBodyParams && this.scimScopes.create) { // Now, create the `scim_configuration` for newly created `connection`. await this.createScimConfiguration({ id: data.id }, scimBodyParams); } diff --git a/src/tools/auth0/handlers/selfServiceProfiles.ts b/src/tools/auth0/handlers/selfServiceProfiles.ts index 541df7828..8ebabdc50 100644 --- a/src/tools/auth0/handlers/selfServiceProfiles.ts +++ b/src/tools/auth0/handlers/selfServiceProfiles.ts @@ -1,22 +1,28 @@ -import { - GetSelfServiceProfileCustomTextLanguageEnum, - GetSelfServiceProfileCustomTextPageEnum, - SsProfile, - UserAttributeProfile, -} from 'auth0'; +import { Management } from 'auth0'; import { isEmpty } from 'lodash'; import { Asset, Assets, CalculatedChanges } from '../../../types'; import log from '../../../logger'; import DefaultAPIHandler, { order } from './default'; import { calculateChanges } from '../../calculateChanges'; import { paginate } from '../client'; +import { UserAttributeProfile } from './userAttributeProfiles'; + +const SelfServiceProfileCustomTextLanguageEnum = { + en: 'en', +} as const; + +const SelfServiceProfileCustomTextPageEnum = { + getStarted: 'get-started', +} as const; type customTextType = { - [GetSelfServiceProfileCustomTextLanguageEnum.en]: { - [GetSelfServiceProfileCustomTextPageEnum.get_started]: Object; + [SelfServiceProfileCustomTextLanguageEnum.en]: { + [SelfServiceProfileCustomTextPageEnum.getStarted]: Object; }; }; +type SsProfile = Management.SelfServiceProfile; + export type SsProfileWithCustomText = Omit & { customText?: customTextType; }; @@ -72,10 +78,10 @@ export const schema = { customText: { type: 'object', properties: { - [GetSelfServiceProfileCustomTextLanguageEnum.en]: { + [SelfServiceProfileCustomTextLanguageEnum.en]: { type: 'object', properties: { - [GetSelfServiceProfileCustomTextPageEnum.get_started]: { + [SelfServiceProfileCustomTextPageEnum.getStarted]: { type: 'object', }, }, @@ -106,10 +112,8 @@ export default class SelfServiceProfileHandler extends DefaultAPIHandler { async getType() { if (this.existing) return this.existing; - const selfServiceProfiles = await paginate(this.client.selfServiceProfiles.getAll, { + const selfServiceProfiles = await paginate(this.client.selfServiceProfiles.list, { paginate: true, - include_totals: true, - is_global: false, }); const selfServiceProfileWithCustomText: SsProfileWithCustomText[] = await Promise.all( @@ -117,16 +121,17 @@ export default class SelfServiceProfileHandler extends DefaultAPIHandler { /** * Fetches the custom text for the "get_started" in "en" page of a self-service profile. */ - const { data: getStartedText } = await this.client.selfServiceProfiles.getCustomText({ - id: sp.id, - language: GetSelfServiceProfileCustomTextLanguageEnum.en, - page: GetSelfServiceProfileCustomTextPageEnum.get_started, - }); + + const getStartedText = await this.client.selfServiceProfiles.customText.list( + sp.id as string, + SelfServiceProfileCustomTextLanguageEnum.en, + SelfServiceProfileCustomTextPageEnum.getStarted + ); if (!isEmpty(getStartedText)) { const customText = { - [GetSelfServiceProfileCustomTextLanguageEnum.en]: { - [GetSelfServiceProfileCustomTextPageEnum.get_started]: getStartedText, + [SelfServiceProfileCustomTextLanguageEnum.en]: { + [SelfServiceProfileCustomTextPageEnum.getStarted]: getStartedText, }, }; return { @@ -225,16 +230,14 @@ export default class SelfServiceProfileHandler extends DefaultAPIHandler { async updateCustomText(ssProfileId: string, customText: customTextType): Promise { try { - await this.client.selfServiceProfiles.updateCustomText( - { - id: ssProfileId, - language: GetSelfServiceProfileCustomTextLanguageEnum.en, - page: GetSelfServiceProfileCustomTextPageEnum.get_started, - }, + await this.client.selfServiceProfiles.customText.set( + ssProfileId, + SelfServiceProfileCustomTextLanguageEnum.en, + SelfServiceProfileCustomTextPageEnum.getStarted, { - ...customText[GetSelfServiceProfileCustomTextLanguageEnum.en][ - GetSelfServiceProfileCustomTextPageEnum.get_started - ], + ...(customText[SelfServiceProfileCustomTextLanguageEnum.en][ + SelfServiceProfileCustomTextPageEnum.getStarted + ] as Record), } ); log.debug(`Updated custom text for ${this.type} ${ssProfileId}`); @@ -263,9 +266,11 @@ export default class SelfServiceProfileHandler extends DefaultAPIHandler { async createSelfServiceProfile(profile: SsProfileWithCustomText): Promise { const { customText, ...ssProfile } = profile; - const { data: created } = await this.client.selfServiceProfiles.create(ssProfile as SsProfile); + const created = await this.client.selfServiceProfiles.create( + ssProfile as Management.CreateSelfServiceProfileRequestContent + ); - if (!isEmpty(customText)) { + if (!isEmpty(customText) && created.id) { await this.updateCustomText(created.id, customText); } @@ -291,9 +296,9 @@ export default class SelfServiceProfileHandler extends DefaultAPIHandler { async updateSelfServiceProfile(profile: SsProfileWithCustomText): Promise { const { customText, id, ...ssProfile } = profile; - const { data: updated } = await this.client.selfServiceProfiles.update({ id }, ssProfile); + const updated = await this.client.selfServiceProfiles.update(id as string, ssProfile); - if (!isEmpty(customText)) { + if (!isEmpty(customText) && updated.id) { await this.updateCustomText(updated.id, customText); } return updated; @@ -325,7 +330,7 @@ export default class SelfServiceProfileHandler extends DefaultAPIHandler { } async deleteSelfServiceProfile(profile: SsProfileWithCustomText): Promise { - await this.client.selfServiceProfiles.delete({ id: profile.id }); + await this.client.selfServiceProfiles.delete(profile.id as string); } async getUserAttributeProfiles( @@ -336,11 +341,8 @@ export default class SelfServiceProfileHandler extends DefaultAPIHandler { (p) => p.user_attribute_profile_id && p.user_attribute_profile_id.trim() !== '' ) ) { - return paginate(this.client.userAttributeProfiles.getAll, { + return paginate(this.client.userAttributeProfiles.list, { checkpoint: true, - include_totals: true, - is_global: false, - take: 10, }); } diff --git a/src/tools/auth0/handlers/tenant.ts b/src/tools/auth0/handlers/tenant.ts index 22ca05ce3..21e25728f 100644 --- a/src/tools/auth0/handlers/tenant.ts +++ b/src/tools/auth0/handlers/tenant.ts @@ -1,9 +1,4 @@ -import { - TenantSettings, - TenantSettingsFlags, - TenantSettingsUpdate, - TenantSettingsUpdateFlags, -} from 'auth0'; +import { Management } from 'auth0'; import ValidationError from '../../validationError'; import DefaultHandler, { order } from './default'; import { supportedPages, pageNameMap } from './pages'; @@ -56,7 +51,10 @@ export const schema = { }, }; -export type Tenant = TenantSettings; +// export type Tenant = TenantSettings; + +export type Tenant = Management.GetTenantSettingsResponseContent; +type TenantSettingsFlags = Management.TenantSettingsFlags; const blockPageKeys = [ ...Object.keys(pageNameMap), @@ -101,7 +99,7 @@ export const allowedTenantFlags = [ ]; export const removeUnallowedTenantFlags = ( - proposedFlags: TenantSettingsFlags + proposedFlags: TenantSettingsFlags | undefined ): TenantSettingsFlags => { if (proposedFlags === undefined) return {} as unknown as TenantSettingsFlags; @@ -146,7 +144,7 @@ export default class TenantHandler extends DefaultHandler { } async getType(): Promise { - const { data: tenant } = await this.client.tenants.getSettings(); + const tenant = await this.client.tenants.settings.get(); tenant.flags = removeUnallowedTenantFlags(tenant.flags); @@ -183,10 +181,10 @@ export default class TenantHandler extends DefaultHandler { // Do nothing if not set if (!tenant) return; - const updatedTenant: TenantSettingsUpdate = { + const updatedTenant: Management.UpdateTenantSettingsRequestContent = { ...tenant, flags: tenant.flags - ? (removeUnallowedTenantFlags(tenant.flags) as TenantSettingsUpdateFlags) + ? (removeUnallowedTenantFlags(tenant.flags) as TenantSettingsFlags) : undefined, }; @@ -197,7 +195,7 @@ export default class TenantHandler extends DefaultHandler { } if (updatedTenant && Object.keys(updatedTenant).length > 0) { - await this.client.tenants.updateSettings(updatedTenant); + await this.client.tenants.settings.update(updatedTenant); this.updated += 1; this.didUpdate(updatedTenant); } diff --git a/src/tools/auth0/handlers/themes.ts b/src/tools/auth0/handlers/themes.ts index a186c8b42..bc3cff91b 100644 --- a/src/tools/auth0/handlers/themes.ts +++ b/src/tools/auth0/handlers/themes.ts @@ -1,109 +1,8 @@ -import { PostBrandingTheme200Response } from 'auth0'; +import { Management } from 'auth0'; import { Assets } from '../../../types'; import log from '../../../logger'; import DefaultHandler, { order } from './default'; -export type Theme = PostBrandingTheme200Response; -export default class ThemesHandler extends DefaultHandler { - existing: Theme[] | null; - - constructor(options: DefaultHandler) { - super({ - ...options, - type: 'themes', - id: 'themeId', - }); - } - - objString(theme: Theme): string { - return theme.displayName || JSON.stringify(theme); - } - - async getType(): Promise { - if (!this.existing) { - this.existing = await this.getThemes(); - } - - return this.existing; - } - - @order('60') // Run after custom domains. - async processChanges(assets: Assets): Promise { - const { themes } = assets; - - // Non existing section means themes doesn't need to be processed - if (!themes) { - return; - } - - // Empty array means themes should be deleted - if (themes.length === 0) { - return this.deleteThemes(); - } - - return this.updateThemes(themes); - } - - async deleteThemes(): Promise { - if (!this.config('AUTH0_ALLOW_DELETE')) { - return; - } - - // if theme exists we need to delete it - const currentThemes = await this.getThemes(); - if (currentThemes === null || currentThemes.length === 0) { - return; - } - - const currentTheme = currentThemes[0]; - await this.client.branding.deleteTheme({ themeId: currentTheme.themeId }); - - this.deleted += 1; - this.didDelete(currentTheme); - } - - async updateThemes(themes: Theme[]): Promise { - if (themes.length > 1) { - log.warn('Only one theme is supported per tenant'); - } - - const currentThemes = await this.getThemes(); - - const themeReqPayload = ((): Omit => { - // Removing themeId from update and create payloads, otherwise API will error - // Theme ID may be required to handle if `--export_ids=true` - const payload = themes[0]; - //@ts-ignore to quell non-optional themeId property, but we know that it's ok to delete - delete payload.themeId; - return payload; - })(); - - if (currentThemes === null || currentThemes.length === 0) { - await this.client.branding.createTheme(themeReqPayload); - } else { - const currentTheme = currentThemes[0]; - // if theme exists, overwrite it otherwise create it - await this.client.branding.updateTheme({ themeId: currentTheme.themeId }, themeReqPayload); - } - - this.updated += 1; - this.didUpdate(themes[0]); - } - - async getThemes(): Promise { - try { - const { data: theme } = await this.client.branding.getDefaultTheme(); - return [theme]; - } catch (err) { - if (err.statusCode === 404) return []; - if (err.statusCode === 400) return null; - - // Errors other than 404 (theme doesn't exist) or 400 (no-code not enabled) shouldn't be expected - throw err; - } - } -} - /** * Schema */ @@ -519,3 +418,104 @@ export const schema = { type: 'object', }, }; + +export type Theme = Management.GetBrandingThemeResponseContent; +export default class ThemesHandler extends DefaultHandler { + existing: Theme[] | null; + + constructor(options: DefaultHandler) { + super({ + ...options, + type: 'themes', + id: 'themeId', + }); + } + + objString(theme: Theme): string { + return theme.displayName || JSON.stringify(theme); + } + + async getType(): Promise { + if (!this.existing) { + this.existing = await this.getThemes(); + } + + return this.existing; + } + + @order('60') // Run after custom domains. + async processChanges(assets: Assets): Promise { + const { themes } = assets; + + // Non existing section means themes doesn't need to be processed + if (!themes) { + return; + } + + // Empty array means themes should be deleted + if (themes.length === 0) { + return this.deleteThemes(); + } + + return this.updateThemes(themes); + } + + async deleteThemes(): Promise { + if (!this.config('AUTH0_ALLOW_DELETE')) { + return; + } + + // if theme exists we need to delete it + const currentThemes = await this.getThemes(); + if (currentThemes === null || currentThemes.length === 0) { + return; + } + + const currentTheme = currentThemes[0]; + await this.client.branding.themes.delete(currentTheme.themeId); + + this.deleted += 1; + this.didDelete(currentTheme); + } + + async updateThemes(themes: Theme[]): Promise { + if (themes.length > 1) { + log.warn('Only one theme is supported per tenant'); + } + + const currentThemes = await this.getThemes(); + + const themeReqPayload = ((): Omit => { + // Removing themeId from update and create payloads, otherwise API will error + // Theme ID may be required to handle if `--export_ids=true` + const payload = themes[0]; + // @ts-ignore to quell non-optional themeId property, but we know that it's ok to delete + delete payload.themeId; + return payload; + })(); + + if (currentThemes === null || currentThemes.length === 0) { + await this.client.branding.themes.create(themeReqPayload); + } else { + const currentTheme = currentThemes[0]; + // if theme exists, overwrite it otherwise create it + await this.client.branding.themes.update(currentTheme.themeId, themeReqPayload); + } + + this.updated += 1; + this.didUpdate(themes[0]); + } + + async getThemes(): Promise { + try { + const theme = await this.client.branding.themes.getDefault(); + return [theme]; + } catch (err) { + if (err.statusCode === 404) return []; + if (err.statusCode === 400) return null; + + // Errors other than 404 (theme doesn't exist) or 400 (no-code not enabled) shouldn't be expected + throw err; + } + } +} diff --git a/src/tools/auth0/handlers/triggers.ts b/src/tools/auth0/handlers/triggers.ts index 6395d60a6..cfa347efd 100644 --- a/src/tools/auth0/handlers/triggers.ts +++ b/src/tools/auth0/handlers/triggers.ts @@ -1,4 +1,5 @@ import _ from 'lodash'; +import { Management } from 'auth0'; import DefaultHandler, { order } from './default'; import constants from '../../constants'; import log from '../../../logger'; @@ -49,30 +50,24 @@ export default class TriggersHandler extends DefaultHandler { return this.existing; } - // in case client version does not support actions - if (!this.client.actions || typeof this.client.actions.getAllTriggers !== 'function') { - return []; - } - const triggerBindings = {}; try { - const res = await this.client.actions.getAllTriggers(); - const triggers: string[] = _(res.data.triggers).map('id').uniq().value(); + const res: Management.ListActionTriggersResponseContent = + await this.client.actions.triggers.list(); + const triggers: string[] = _(res?.triggers).map('id').uniq().value(); for (let i = 0; i < triggers.length; i++) { const triggerId = triggers[i]; let bindings; try { - const { data } = await this.client.actions.getTriggerBindings({ - triggerId: triggerId, - }); + const { data } = await this.client.actions.triggers.bindings.list(triggerId); - bindings = data?.bindings; + bindings = data; } catch (err) { log.warn(`${err.message} (trigger: ${triggerId}). Skipping this trigger and continuing.`); - continue; + bindings = null; } if (bindings && bindings.length > 0) { @@ -119,7 +114,7 @@ export default class TriggersHandler extends DefaultHandler { display_name: binding.display_name, })); - await this.client.actions.updateTriggerBindings({ triggerId: name }, { bindings }); + await this.client.actions.triggers.bindings.updateMany(name, { bindings }); this.didUpdate({ trigger_id: name }); this.updated += 1; }) diff --git a/src/tools/auth0/handlers/userAttributeProfiles.ts b/src/tools/auth0/handlers/userAttributeProfiles.ts index c4d819ecd..cdf4611db 100644 --- a/src/tools/auth0/handlers/userAttributeProfiles.ts +++ b/src/tools/auth0/handlers/userAttributeProfiles.ts @@ -1,4 +1,4 @@ -import { UserAttributeProfile } from 'auth0'; +import { Management } from 'auth0'; import DefaultAPIHandler, { order } from './default'; import { Assets } from '../../../types'; @@ -55,6 +55,8 @@ const strategyOverrides = { ), }; +export type UserAttributeProfile = Management.UserAttributeProfile; + export const schema = { type: 'array', items: { @@ -203,6 +205,10 @@ export default class UserAttributeProfilesHandler extends DefaultAPIHandler { id: 'id', identifiers: ['id', 'name'], stripUpdateFields: ['id'], + functions: { + update: async (params, payload) => + this.client.userAttributeProfiles.update(params?.id, payload), + }, }); } @@ -210,15 +216,12 @@ export default class UserAttributeProfilesHandler extends DefaultAPIHandler { if (this.existing) return this.existing; try { - this.existing = await paginate( - this.client.userAttributeProfiles.getAll, - { - checkpoint: true, - include_totals: true, - is_global: false, - take: 10, - } - ); + this.existing = await paginate(this.client.userAttributeProfiles.list, { + checkpoint: true, + include_totals: true, + is_global: false, + take: 10, + }); return this.existing; } catch (err) { diff --git a/src/tools/auth0/index.ts b/src/tools/auth0/index.ts index 0078cb85b..a192dee92 100644 --- a/src/tools/auth0/index.ts +++ b/src/tools/auth0/index.ts @@ -75,6 +75,13 @@ export default class Auth0 { // eslint-disable-line try { const stageFn: StageFunction = Object.getPrototypeOf(handler)[stage]; + if (typeof stageFn !== 'function') { + throw new Error( + `Handler ${ + handler.type + } does not have a ${stage} method or it is not a function (got ${typeof stageFn})` + ); + } this.assets = { ...this.assets, ...((await stageFn.apply(handler, [this.assets])) || {}), diff --git a/src/tools/constants.ts b/src/tools/constants.ts index b001199a2..0d243d1a4 100644 --- a/src/tools/constants.ts +++ b/src/tools/constants.ts @@ -1,4 +1,4 @@ -import { GetEmailTemplatesByTemplateNameTemplateNameEnum } from 'auth0'; +import { Management } from 'auth0'; const PAGE_GUARDIAN_MULTIFACTOR = 'guardian_multifactor'; const PAGE_PASSWORD_RESET = 'password_reset'; @@ -59,7 +59,7 @@ const constants = { 'password_reset', 'user_invitation', 'async_approval', - ] as GetEmailTemplatesByTemplateNameTemplateNameEnum[], + ] as Management.EmailTemplateNameEnum[], ACTIONS_TRIGGERS: [ 'post-login', 'credentials-exchange', diff --git a/src/tools/index.ts b/src/tools/index.ts index 7575f16ee..ca67cbc38 100644 --- a/src/tools/index.ts +++ b/src/tools/index.ts @@ -7,7 +7,15 @@ import { wrapArrayReplaceMarkersInQuotes, } from './utils'; -export default { +// Explicit type to avoid non-portable type inference +const tools: { + constants: typeof constants; + deploy: typeof deploy; + keywordReplace: typeof keywordReplace; + loadFileAndReplaceKeywords: typeof loadFileAndReplaceKeywords; + wrapArrayReplaceMarkersInQuotes: typeof wrapArrayReplaceMarkersInQuotes; + Auth0: typeof Auth0; +} = { constants, deploy, keywordReplace, @@ -16,6 +24,8 @@ export default { Auth0, }; +export default tools; + export { constants, deploy, diff --git a/src/tools/utils.ts b/src/tools/utils.ts index 457321078..e89fa5445 100644 --- a/src/tools/utils.ts +++ b/src/tools/utils.ts @@ -40,8 +40,12 @@ export function keywordStringReplace(input: string, mappings: KeywordMappings): return input; } -export function keywordReplace(input: string, mappings: KeywordMappings): string { +export function keywordReplace(input: string | undefined, mappings: KeywordMappings): string { // Replace keywords with mappings within input. + if (input === undefined) { + return 'undefined'; + } + if (mappings && Object.keys(mappings).length > 0) { input = keywordArrayReplace(input, mappings); input = keywordStringReplace(input, mappings); diff --git a/src/types.ts b/src/types.ts index be3154f92..3d7c3a404 100644 --- a/src/types.ts +++ b/src/types.ts @@ -1,10 +1,4 @@ -import { - CustomDomain, - GetConnectionsStrategyEnum, - ManagementClient, - ResourceServer, - UserAttributeProfile, -} from 'auth0'; +import { Management, ManagementClient } from 'auth0'; import { PromisePoolExecutor } from 'promise-pool-executor'; import { Action } from './tools/auth0/handlers/actions'; import { Prompts } from './tools/auth0/handlers/prompts'; @@ -20,6 +14,7 @@ import { FlowVaultConnection } from './tools/auth0/handlers/flowVaultConnections import { SsProfileWithCustomText } from './tools/auth0/handlers/selfServiceProfiles'; import { PhoneProvider } from './tools/auth0/handlers/phoneProvider'; import { NetworkACL } from './tools/auth0/handlers/networkACLs'; +import { UserAttributeProfile } from './tools/auth0/handlers/userAttributeProfiles'; import { AttackProtection } from './tools/auth0/handlers/attackProtection'; type SharedPaginationParams = { @@ -28,7 +23,7 @@ type SharedPaginationParams = { is_global?: boolean; include_totals?: boolean; id?: string; - strategy?: GetConnectionsStrategyEnum[]; + strategy?: Management.ConnectionStrategyEnum[]; }; export type CheckpointPaginationParams = SharedPaginationParams & { @@ -70,6 +65,9 @@ export type Config = { AUTH0_BASE_PATH?: string; AUTH0_AUDIENCE?: string; AUTH0_API_MAX_RETRIES?: number; + AUTH0_MAX_RETRIES?: number; + AUTH0_RETRY_INITIAL_DELAY_MS?: number; + AUTH0_RETRY_MAX_DELAY_MS?: number; AUTH0_KEYWORD_REPLACE_MAPPINGS?: KeywordMappings; AUTH0_EXPORT_IDENTIFIERS?: boolean; AUTH0_CONNECTIONS_DIRECTORY?: string; @@ -104,7 +102,7 @@ export type Assets = Partial<{ clients: Client[] | null; clientGrants: ClientGrant[] | null; connections: Asset[] | null; - customDomains: CustomDomain[] | null; + customDomains: Management.CustomDomain[] | null; databases: Asset[] | null; emailProvider: Asset | null; emailTemplates: Asset[] | null; @@ -112,24 +110,24 @@ export type Assets = Partial<{ guardianFactors: Asset[] | null; guardianFactorTemplates: Asset[] | null; guardianPhoneFactorMessageTypes: { - message_types: Asset[]; //TODO: eliminate this intermediate level for consistency + message_types: Asset[]; // TODO: eliminate this intermediate level for consistency } | null; guardianPhoneFactorSelectedProvider: Asset | null; guardianPolicies: { - policies: string[]; //TODO: eliminate this intermediate level for consistency + policies: string[]; // TODO: eliminate this intermediate level for consistency } | null; hooks: Asset[] | null; logStreams: LogStream[] | null; organizations: Asset[] | null; pages: Page[] | null; prompts: Prompts | null; - resourceServers: ResourceServer[] | null; + resourceServers: Management.ResourceServer[] | null; roles: Asset[] | null; rules: Asset[] | null; rulesConfigs: Asset[] | null; tenant: Tenant | null; triggers: Asset[] | null; - //non-resource types + // non-resource types exclude?: { [key: string]: string[]; }; diff --git a/src/utils.ts b/src/utils.ts index 5e1efd361..7217c28ae 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -75,7 +75,7 @@ export function toConfigFn(data: Config): (arg0: keyof Config) => any { return (key) => data[key]; } -export function stripIdentifiers(auth0: Auth0, assets: Assets) { +export function stripIdentifiers(auth0: Auth0, assets: Assets): Assets { const updated = { ...assets }; // Some of the object identifiers are required to perform updates. @@ -106,7 +106,8 @@ export function stripIdentifiers(auth0: Auth0, assets: Assets) { return updated; } -export function sanitize(str: string): string { +export function sanitize(str: string | undefined): string { + if (!str) return 'undefined'; return sanitizeName(str, { replacement: '-' }); } @@ -192,7 +193,12 @@ export function clearClientArrays(client: Asset): Asset { return client; } -export function convertClientIdToName(clientId: string, knownClients: Asset[] = []): string { +export function convertClientIdToName( + clientId: string | undefined, + knownClients: Asset[] = [] +): string { + if (!clientId) return 'undefined_clientId'; + try { const found = knownClients.find((c) => c.client_id === clientId); return (found && found.name) || clientId; diff --git a/test/context/context.test.js b/test/context/context.test.js index dd4560bf0..1e4371270 100644 --- a/test/context/context.test.js +++ b/test/context/context.test.js @@ -175,23 +175,6 @@ describe('#context loader validation', async () => { expect(loaded2).to.be.an.instanceof(yamlContext); }); - it('should include the deploy cli version in the user agent header', async () => { - /* Create empty directory */ - const dir = path.resolve(testDataDir, 'context'); - cleanThenMkdir(dir); - - const yaml = path.join(dir, 'empty.yaml'); - fs.writeFileSync(yaml, ''); - - const loaded = await setupContext({ ...config, AUTH0_INPUT_FILE: yaml }, 'import'); - expect(loaded).to.be.an.instanceof(yamlContext); - - const userAgent = loaded.mgmtClient.configuration.headers['User-agent']; - - expect(userAgent).to.contain('deploy-cli'); - expect(userAgent).to.contain('node.js'); - }); - it('should warn about deprecated exclusion params', async () => { /* Create empty directory */ const dir = path.resolve(testDataDir, 'context'); diff --git a/test/context/directory/actions.test.js b/test/context/directory/actions.test.js index 2b468c58c..1aecd64ef 100644 --- a/test/context/directory/actions.test.js +++ b/test/context/directory/actions.test.js @@ -156,7 +156,7 @@ describe('#directory context actions', () => { const dir = path.join(repoDir, constants.ACTIONS_DIRECTORY); fs.writeFileSync(dir, 'junk'); - const context = new Context({ AUTH0_INPUT_FILE: repoDir }); + const context = new Context({ AUTH0_INPUT_FILE: repoDir }, mockMgmtClient()); const errorMessage = `Expected ${dir} to be a folder but got a file?`; await expect(context.loadAssetsFromLocal()) .to.be.eventually.rejectedWith(Error) diff --git a/test/context/directory/clientGrants.test.js b/test/context/directory/clientGrants.test.js index 14892c847..dcbf8069e 100644 --- a/test/context/directory/clientGrants.test.js +++ b/test/context/directory/clientGrants.test.js @@ -124,7 +124,7 @@ describe('#directory context clientGrants', () => { { ...mockMgmtClient(), clients: { - getAll: (params) => + list: (params) => mockPagedData(params, 'clients', [ { client_id: 'client-id-1', @@ -137,7 +137,7 @@ describe('#directory context clientGrants', () => { ]), }, resourceServers: { - getAll: (params) => + list: (params) => mockPagedData(params, 'resource_servers', [ { id: 'resource-server-1', @@ -203,12 +203,12 @@ describe('#directory context clientGrants', () => { { ...mockMgmtClient(), clients: { - getAll: () => { + list: () => { throw new 'This should not be called'(); }, }, resourceServers: { - getAll: () => { + list: () => { throw new 'This should not be called'(); }, }, diff --git a/test/context/directory/context.test.js b/test/context/directory/context.test.js index d31493281..b59b603e5 100644 --- a/test/context/directory/context.test.js +++ b/test/context/directory/context.test.js @@ -3,7 +3,7 @@ import fs from 'fs-extra'; import { expect } from 'chai'; import Context from '../../../src/context/directory'; -import { cleanThenMkdir, testDataDir } from '../../utils'; +import { cleanThenMkdir, testDataDir, mockMgmtClient } from '../../utils'; import handlers from '../../../src/context/directory/handlers'; describe('#directory context validation', () => { @@ -12,7 +12,7 @@ describe('#directory context validation', () => { const dir = path.resolve(testDataDir, 'directory', 'empty'); cleanThenMkdir(dir); - const context = new Context({ AUTH0_INPUT_FILE: dir }); + const context = new Context({ AUTH0_INPUT_FILE: dir }, mockMgmtClient()); await context.loadAssetsFromLocal(); expect(Object.keys(context.assets).length).to.equal(Object.keys(handlers).length + 1); @@ -46,7 +46,7 @@ describe('#directory context validation', () => { AUTH0_EXCLUDED_RESOURCE_SERVERS: ['api'], AUTH0_EXCLUDED_DEFAULTS: ['emailProvider'], }; - const context = new Context(config); + const context = new Context(config, mockMgmtClient()); await context.loadAssetsFromLocal(); expect(context.assets.exclude.rules).to.deep.equal(['rule']); @@ -68,17 +68,23 @@ describe('#directory context validation', () => { cleanThenMkdir(dir); fs.writeFileSync(path.join(dir, 'tenant.json'), JSON.stringify(tenantConfig)); - const contextWithExclusion = new Context({ - AUTH0_INPUT_FILE: dir, - AUTH0_EXCLUDED: ['tenant'], - }); + const contextWithExclusion = new Context( + { + AUTH0_INPUT_FILE: dir, + AUTH0_EXCLUDED: ['tenant'], + }, + mockMgmtClient() + ); await contextWithExclusion.loadAssetsFromLocal(); expect(contextWithExclusion.assets.tenant).to.equal(undefined); - const contextWithoutExclusion = new Context({ - AUTH0_INPUT_FILE: dir, - AUTH0_EXCLUDED: [], // Not excluding tenant resource - }); + const contextWithoutExclusion = new Context( + { + AUTH0_INPUT_FILE: dir, + AUTH0_EXCLUDED: [], // Not excluding tenant resource + }, + mockMgmtClient() + ); await contextWithoutExclusion.loadAssetsFromLocal(); expect(contextWithoutExclusion.assets.tenant).to.deep.equal(tenantConfig); }); @@ -94,10 +100,13 @@ describe('#directory context validation', () => { cleanThenMkdir(dir); fs.writeFileSync(path.join(dir, 'tenant.json'), JSON.stringify(tenantConfig)); - const contextWithInclusion = new Context({ - AUTH0_INPUT_FILE: dir, - AUTH0_INCLUDED_ONLY: ['tenant'], - }); + const contextWithInclusion = new Context( + { + AUTH0_INPUT_FILE: dir, + AUTH0_INCLUDED_ONLY: ['tenant'], + }, + mockMgmtClient() + ); await contextWithInclusion.loadAssetsFromLocal(); expect(contextWithInclusion.assets.tenant).to.deep.equal(tenantConfig); expect(contextWithInclusion.assets.actions).to.equal(undefined); // Arbitrary sample resources @@ -106,7 +115,7 @@ describe('#directory context validation', () => { it('should error on bad directory', async () => { const dir = path.resolve(testDataDir, 'directory', 'doesNotExist'); - const context = new Context({ AUTH0_INPUT_FILE: dir }); + const context = new Context({ AUTH0_INPUT_FILE: dir }, mockMgmtClient()); const errorMessage = `Not sure what to do with, ${dir} as it is not a directory...`; await expect(context.loadAssetsFromLocal()) .to.be.eventually.rejectedWith(Error) @@ -126,7 +135,7 @@ describe('#directory context validation', () => { cleanThenMkdir(dir); fs.symlinkSync(file, link); - const context = new Context({ AUTH0_INPUT_FILE: link }); + const context = new Context({ AUTH0_INPUT_FILE: link }, mockMgmtClient()); const errorMessage = `Not sure what to do with, ${link} as it is not a directory...`; await expect(context.loadAssetsFromLocal()) .to.be.eventually.rejectedWith(Error) @@ -157,27 +166,21 @@ describe('#directory context validation', () => { }, { tenants: { - getSettings: async () => - new Promise((res) => { - res({ - data: { + settings: { + get: async () => + new Promise((res) => { + res({ friendly_name: 'Production Tenant', enabled_locales: ['en', 'es'], - }, - }); - }), + }); + }), + }, }, prompts: { _getRestClient: (endpoint) => ({ get: (...options) => Promise.resolve({ endpoint, method: 'get', options }), }), }, - actions: { - getSettings: async () => - new Promise((res) => { - res([]); - }), - }, } ); await context.dump(); diff --git a/test/context/directory/emailTemplates.test.js b/test/context/directory/emailTemplates.test.js index b38ca5f3c..c68857864 100644 --- a/test/context/directory/emailTemplates.test.js +++ b/test/context/directory/emailTemplates.test.js @@ -80,7 +80,7 @@ describe('#directory context email templates', () => { const dir = path.join(repoDir, constants.EMAIL_TEMPLATES_DIRECTORY); fs.writeFileSync(dir, 'junk'); - const context = new Context({ AUTH0_INPUT_FILE: repoDir }); + const context = new Context({ AUTH0_INPUT_FILE: repoDir }, mockMgmtClient()); const errorMessage = `Expected ${dir} to be a folder but got a file?`; await expect(context.loadAssetsFromLocal()) .to.be.eventually.rejectedWith(Error) diff --git a/test/context/directory/hooks.test.js b/test/context/directory/hooks.test.js index 227eb1ccc..92c98b3de 100644 --- a/test/context/directory/hooks.test.js +++ b/test/context/directory/hooks.test.js @@ -68,7 +68,7 @@ describe('#directory context hooks', () => { const dir = path.join(repoDir, constants.HOOKS_DIRECTORY); fs.writeFileSync(dir, 'junk'); - const context = new Context({ AUTH0_INPUT_FILE: repoDir }); + const context = new Context({ AUTH0_INPUT_FILE: repoDir }, mockMgmtClient()); const errorMessage = `Expected ${dir} to be a folder but got a file?`; await expect(context.loadAssetsFromLocal()) .to.be.eventually.rejectedWith(Error) diff --git a/test/context/directory/pages.test.js b/test/context/directory/pages.test.js index e73534234..a694e9b68 100644 --- a/test/context/directory/pages.test.js +++ b/test/context/directory/pages.test.js @@ -95,7 +95,7 @@ describe('#directory context pages', () => { const dir = path.join(repoDir, constants.PAGES_DIRECTORY); fs.writeFileSync(dir, 'junk'); - const context = new Context({ AUTH0_INPUT_FILE: repoDir }); + const context = new Context({ AUTH0_INPUT_FILE: repoDir }, mockMgmtClient()); const errorMessage = `Expected ${dir} to be a folder but got a file?`; await expect(context.loadAssetsFromLocal()) .to.be.eventually.rejectedWith(Error) diff --git a/test/context/directory/prompts.test.ts b/test/context/directory/prompts.test.ts index f6f9aff67..0d0e5477f 100644 --- a/test/context/directory/prompts.test.ts +++ b/test/context/directory/prompts.test.ts @@ -12,6 +12,7 @@ import { mockMgmtClient, createDirWithNestedDir, } from '../../utils'; +import { Config } from '../../../src/types'; const dir = path.join(testDataDir, 'directory', 'promptsDump'); const promptsDirectory = path.join(dir, constants.PROMPTS_DIRECTORY); @@ -471,7 +472,7 @@ describe('#directory context prompts', () => { it('should not dump prompts settings and prompts custom text when prompts object is null', async () => { cleanThenMkdir(dir); - const context = new Context({ AUTH0_INPUT_FILE: dir }); + const context = new Context({ AUTH0_INPUT_FILE: dir } as Config, mockMgmtClient()); context.assets.prompts = null; promptsHandler.dump(context); @@ -483,7 +484,7 @@ describe('#directory context prompts', () => { it('should not dump prompts settings and prompts custom text when prompts object is undefined', async () => { cleanThenMkdir(dir); - const context = new Context({ AUTH0_INPUT_FILE: dir }); + const context = new Context({ AUTH0_INPUT_FILE: dir } as Config, mockMgmtClient()); promptsHandler.dump(context); const dumpedFiles = getFiles(promptsDirectory, ['.json']); @@ -494,7 +495,7 @@ describe('#directory context prompts', () => { it('should dump prompts settings, prompts custom text when API responses are empty and screen renderers', async () => { cleanThenMkdir(dir); - const context = new Context({ AUTH0_INPUT_FILE: dir }); + const context = new Context({ AUTH0_INPUT_FILE: dir } as Config, mockMgmtClient()); context.assets.prompts = { universal_login_experience: 'classic', diff --git a/test/context/directory/rules.test.js b/test/context/directory/rules.test.js index 1560446c3..7d1b14907 100644 --- a/test/context/directory/rules.test.js +++ b/test/context/directory/rules.test.js @@ -57,7 +57,7 @@ describe('#directory context rules', () => { const dir = path.join(repoDir, constants.RULES_DIRECTORY); fs.writeFileSync(dir, 'junk'); - const context = new Context({ AUTH0_INPUT_FILE: repoDir }); + const context = new Context({ AUTH0_INPUT_FILE: repoDir }, mockMgmtClient()); const errorMessage = `Expected ${dir} to be a folder but got a file?`; await expect(context.loadAssetsFromLocal()) .to.be.eventually.rejectedWith(Error) diff --git a/test/context/directory/triggers.test.js b/test/context/directory/triggers.test.js index a75816709..69c383714 100644 --- a/test/context/directory/triggers.test.js +++ b/test/context/directory/triggers.test.js @@ -56,7 +56,7 @@ describe('#directory context triggers', () => { const dir = path.join(repoDir, constants.TRIGGERS_DIRECTORY); fs.writeFileSync(dir, 'junk'); - const context = new Context({ AUTH0_INPUT_FILE: repoDir }); + const context = new Context({ AUTH0_INPUT_FILE: repoDir }, mockMgmtClient()); const errorMessage = `Expected ${dir} to be a folder but got a file?`; await expect(context.loadAssetsFromLocal()) .to.be.eventually.rejectedWith(Error) diff --git a/test/context/yaml/clientGrants.test.js b/test/context/yaml/clientGrants.test.js index 90f5ebbb1..890d8198a 100644 --- a/test/context/yaml/clientGrants.test.js +++ b/test/context/yaml/clientGrants.test.js @@ -76,7 +76,7 @@ describe('#YAML context client grants', () => { it('should dump client grants and replace client ID with client name even if clients not in assets', async () => { const mockMgmt = mockMgmtClient(); - mockMgmt.clients.getAll = (params) => { + mockMgmt.clients.list = (params) => { const client = { client_id: 'client-id-1', name: 'Client 1', diff --git a/test/context/yaml/context.test.js b/test/context/yaml/context.test.js index f98688eca..1cc7ae4a8 100644 --- a/test/context/yaml/context.test.js +++ b/test/context/yaml/context.test.js @@ -275,7 +275,7 @@ describe('#YAML context validation', () => { rules: [], hooks: [], actions: [], - triggers: [], + triggers: {}, rulesConfigs: [], roles: [ { @@ -403,7 +403,7 @@ describe('#YAML context validation', () => { rules: [], hooks: [], actions: [], - triggers: [], + triggers: {}, rulesConfigs: [], roles: [ { @@ -532,7 +532,7 @@ describe('#YAML context validation', () => { rules: [], hooks: [], actions: [], - triggers: [], + triggers: {}, rulesConfigs: [], roles: [ { @@ -627,18 +627,18 @@ describe('#YAML context validation', () => { }, { tenants: { - getSettings: async () => - new Promise((resolve) => { - resolve({ - data: { + settings: { + get: async () => + new Promise((resolve) => { + resolve({ friendly_name: 'Production Tenant', enabled_locales: ['en', 'es'], - }, - }); - }), + }); + }), + }, }, connections: { - getAll: (params) => + list: (params) => mockPagedData(params, 'connections', [ { name: 'connection-1', diff --git a/test/context/yaml/resourceServers.test.js b/test/context/yaml/resourceServers.test.js index 70a4144a4..d8f177636 100644 --- a/test/context/yaml/resourceServers.test.js +++ b/test/context/yaml/resourceServers.test.js @@ -72,15 +72,15 @@ describe('#YAML context resource servers', () => { it('should dump resource servers with client_id conversion', async () => { const mockClient = mockMgmtClient(); mockClient.clients = { - getAll: (params) => { + list: (params) => { const clients = [ { client_id: 'client_123', name: 'Test Client' }, { client_id: 'client_456', name: 'Another Client' }, ]; if (params && params.include_totals) { - return { data: { clients, total: clients.length } }; + return { data: clients, response: { total: clients.length } }; } - return { data: clients }; + return clients; }, }; diff --git a/test/e2e/recordings/should-deploy-while-deleting-resources-if-AUTH0_ALLOW_DELETE-is-true.json b/test/e2e/recordings/should-deploy-while-deleting-resources-if-AUTH0_ALLOW_DELETE-is-true.json index f852e707e..7987a2ab3 100644 --- a/test/e2e/recordings/should-deploy-while-deleting-resources-if-AUTH0_ALLOW_DELETE-is-true.json +++ b/test/e2e/recordings/should-deploy-while-deleting-resources-if-AUTH0_ALLOW_DELETE-is-true.json @@ -237,6 +237,7 @@ }, "identifier_first": true }, + "resource_parameter_profile": "audience", "session_cookie": { "mode": "non-persistent" } @@ -1200,7 +1201,7 @@ "body": "", "status": 200, "response": { - "total": 9, + "total": 8, "start": 0, "limit": 100, "clients": [ @@ -1263,55 +1264,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "Default App", - "callbacks": [], - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "API Explorer Application", "allowed_clients": [], "callbacks": [], @@ -1345,7 +1297,7 @@ "subject": "deprecated" } ], - "client_id": "eZwzdXan9x27088CTPhLeCSqJK5Qsb5w", + "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1365,9 +1317,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Node App", "allowed_clients": [], "allowed_logout_urls": [], @@ -1403,7 +1352,7 @@ } ], "allowed_origins": [], - "client_id": "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", + "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1427,9 +1376,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Quickstarts API (Test Application)", "client_metadata": { "foo": "bar" @@ -1455,7 +1401,7 @@ "subject": "deprecated" } ], - "client_id": "KBmsLova1QU1cLpNZ5Wst9NexolH66zz", + "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1474,9 +1420,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Terraform Provider", "cross_origin_auth": false, "is_first_party": true, @@ -1499,7 +1442,7 @@ "subject": "deprecated" } ], - "client_id": "GjnPFoLI9mBsl7zVfF1YcuicqzXFGsfP", + "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1518,12 +1461,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -1535,17 +1480,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -1555,7 +1499,7 @@ "subject": "deprecated" } ], - "client_id": "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", + "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1564,12 +1508,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -1577,17 +1524,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -1599,16 +1538,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -1618,7 +1558,7 @@ "subject": "deprecated" } ], - "client_id": "jm6MlJhDC7xIgKBYePEAsFjMtlJ1ScDE", + "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1627,15 +1567,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -1643,9 +1580,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], @@ -1679,7 +1613,7 @@ "subject": "deprecated" } ], - "client_id": "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI", + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1700,20 +1634,10 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "DELETE", - "path": "/api/v2/clients/p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", - "body": "", - "status": 204, - "response": "", - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/eZwzdXan9x27088CTPhLeCSqJK5Qsb5w", + "path": "/api/v2/clients/PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", "body": { "name": "API Explorer Application", "allowed_clients": [], @@ -1758,9 +1682,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "API Explorer Application", "allowed_clients": [], "callbacks": [], @@ -1794,7 +1715,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "eZwzdXan9x27088CTPhLeCSqJK5Qsb5w", + "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1816,7 +1737,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/SrN1EUDvsQo826qtaOqWlxMRN5y08alc", + "path": "/api/v2/clients/Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", "body": { "name": "Node App", "allowed_clients": [], @@ -1867,9 +1788,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Node App", "allowed_clients": [], "allowed_logout_urls": [], @@ -1905,7 +1823,7 @@ } ], "allowed_origins": [], - "client_id": "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", + "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1931,7 +1849,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/KBmsLova1QU1cLpNZ5Wst9NexolH66zz", + "path": "/api/v2/clients/fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", "body": { "name": "Quickstarts API (Test Application)", "app_type": "non_interactive", @@ -1967,9 +1885,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Quickstarts API (Test Application)", "client_metadata": { "foo": "bar" @@ -1995,7 +1910,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "KBmsLova1QU1cLpNZ5Wst9NexolH66zz", + "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2016,7 +1931,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/GjnPFoLI9mBsl7zVfF1YcuicqzXFGsfP", + "path": "/api/v2/clients/17S8meqm0ImjMHCjjYwDbwrHOkApC382", "body": { "name": "Terraform Provider", "app_type": "non_interactive", @@ -2049,9 +1964,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Terraform Provider", "cross_origin_auth": false, "is_first_party": true, @@ -2074,7 +1986,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "GjnPFoLI9mBsl7zVfF1YcuicqzXFGsfP", + "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2095,11 +2007,17 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", + "path": "/api/v2/clients/HIzKdREbF957j3VNApECeIV6pViYy8q6", "body": { - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "app_type": "spa", + "callbacks": [ + "http://localhost:3000" + ], "client_aliases": [], "client_metadata": {}, "cross_origin_auth": false, @@ -2107,8 +2025,7 @@ "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" ], "is_first_party": true, "is_token_endpoint_ip_header_trusted": false, @@ -2124,31 +2041,35 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post" + "token_endpoint_auth_method": "none", + "web_origins": [ + "http://localhost:3000" + ] }, "status": 200, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -2160,17 +2081,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -2180,7 +2100,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", + "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2189,12 +2109,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -2204,17 +2127,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/jm6MlJhDC7xIgKBYePEAsFjMtlJ1ScDE", + "path": "/api/v2/clients/1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", "body": { - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "app_type": "spa", - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_aliases": [], "client_metadata": {}, "cross_origin_auth": false, @@ -2222,7 +2139,8 @@ "grant_types": [ "authorization_code", "implicit", - "refresh_token" + "refresh_token", + "client_credentials" ], "is_first_party": true, "is_token_endpoint_ip_header_trusted": false, @@ -2238,38 +2156,28 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, - "token_endpoint_auth_method": "none", - "web_origins": [ - "http://localhost:3000" - ] + "token_endpoint_auth_method": "client_secret_post" }, "status": 200, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -2281,16 +2189,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -2300,7 +2209,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "jm6MlJhDC7xIgKBYePEAsFjMtlJ1ScDE", + "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2309,15 +2218,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -2327,7 +2233,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/grQveAtB9mtIO6h9E1dujGHwHDBjVsiI", + "path": "/api/v2/clients/hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", "body": { "name": "auth0-deploy-cli-extension", "allowed_clients": [], @@ -2372,9 +2278,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], @@ -2408,7 +2311,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI", + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2430,7 +2333,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/otp", + "path": "/api/v2/guardian/factors/duo", "body": { "enabled": false }, @@ -2444,7 +2347,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/email", + "path": "/api/v2/guardian/factors/otp", "body": { "enabled": false }, @@ -2458,7 +2361,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/duo", + "path": "/api/v2/guardian/factors/email", "body": { "enabled": false }, @@ -2472,7 +2375,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/recovery-code", + "path": "/api/v2/guardian/factors/webauthn-roaming", "body": { "enabled": false }, @@ -2486,7 +2389,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", + "path": "/api/v2/guardian/factors/recovery-code", "body": { "enabled": false }, @@ -2500,7 +2403,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/webauthn-platform", "body": { "enabled": false }, @@ -2528,7 +2431,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-platform", + "path": "/api/v2/guardian/factors/sms", "body": { "enabled": false }, @@ -2606,7 +2509,7 @@ "response": { "actions": [ { - "id": "0ba50458-8f40-4350-a690-484c530cb5c5", + "id": "ada80236-a38c-477e-8607-57fb51c714f6", "name": "My Custom Action", "supported_triggers": [ { @@ -2614,34 +2517,34 @@ "version": "v2" } ], - "created_at": "2025-10-31T14:57:22.321709927Z", - "updated_at": "2025-10-31T14:57:22.333454578Z", + "created_at": "2025-11-18T04:42:09.263480298Z", + "updated_at": "2025-11-18T04:51:47.115549173Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "built", "secrets": [], "current_version": { - "id": "bd05521b-4f4a-4022-8be8-6f77382a55a8", + "id": "e992071e-eb96-4ecb-b9eb-9ad766817551", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node18", "status": "BUILT", - "number": 1, - "build_time": "2025-10-31T14:57:23.139420848Z", - "created_at": "2025-10-31T14:57:23.082767653Z", - "updated_at": "2025-10-31T14:57:23.139739622Z" + "number": 5, + "build_time": "2025-11-18T04:51:47.881650665Z", + "created_at": "2025-11-18T04:51:47.821317510Z", + "updated_at": "2025-11-18T04:51:47.881927882Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "bd05521b-4f4a-4022-8be8-6f77382a55a8", + "id": "e992071e-eb96-4ecb-b9eb-9ad766817551", "deployed": true, - "number": 1, - "built_at": "2025-10-31T14:57:23.139420848Z", + "number": 5, + "built_at": "2025-11-18T04:51:47.881650665Z", "secrets": [], "status": "built", - "created_at": "2025-10-31T14:57:23.082767653Z", - "updated_at": "2025-10-31T14:57:23.139739622Z", + "created_at": "2025-11-18T04:51:47.821317510Z", + "updated_at": "2025-11-18T04:51:47.881927882Z", "runtime": "node18", "supported_triggers": [ { @@ -2662,7 +2565,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/actions/actions/0ba50458-8f40-4350-a690-484c530cb5c5", + "path": "/api/v2/actions/actions/ada80236-a38c-477e-8607-57fb51c714f6", "body": { "name": "My Custom Action", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", @@ -2678,7 +2581,7 @@ }, "status": 200, "response": { - "id": "0ba50458-8f40-4350-a690-484c530cb5c5", + "id": "ada80236-a38c-477e-8607-57fb51c714f6", "name": "My Custom Action", "supported_triggers": [ { @@ -2686,34 +2589,34 @@ "version": "v2" } ], - "created_at": "2025-10-31T14:57:22.321709927Z", - "updated_at": "2025-10-31T14:59:07.483963816Z", + "created_at": "2025-11-18T04:42:09.263480298Z", + "updated_at": "2025-11-18T04:57:38.118595715Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "pending", "secrets": [], "current_version": { - "id": "bd05521b-4f4a-4022-8be8-6f77382a55a8", + "id": "e992071e-eb96-4ecb-b9eb-9ad766817551", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node18", "status": "BUILT", - "number": 1, - "build_time": "2025-10-31T14:57:23.139420848Z", - "created_at": "2025-10-31T14:57:23.082767653Z", - "updated_at": "2025-10-31T14:57:23.139739622Z" + "number": 5, + "build_time": "2025-11-18T04:51:47.881650665Z", + "created_at": "2025-11-18T04:51:47.821317510Z", + "updated_at": "2025-11-18T04:51:47.881927882Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "bd05521b-4f4a-4022-8be8-6f77382a55a8", + "id": "e992071e-eb96-4ecb-b9eb-9ad766817551", "deployed": true, - "number": 1, - "built_at": "2025-10-31T14:57:23.139420848Z", + "number": 5, + "built_at": "2025-11-18T04:51:47.881650665Z", "secrets": [], "status": "built", - "created_at": "2025-10-31T14:57:23.082767653Z", - "updated_at": "2025-10-31T14:57:23.139739622Z", + "created_at": "2025-11-18T04:51:47.821317510Z", + "updated_at": "2025-11-18T04:51:47.881927882Z", "runtime": "node18", "supported_triggers": [ { @@ -2736,7 +2639,7 @@ "response": { "actions": [ { - "id": "0ba50458-8f40-4350-a690-484c530cb5c5", + "id": "ada80236-a38c-477e-8607-57fb51c714f6", "name": "My Custom Action", "supported_triggers": [ { @@ -2744,34 +2647,34 @@ "version": "v2" } ], - "created_at": "2025-10-31T14:57:22.321709927Z", - "updated_at": "2025-10-31T14:59:07.483963816Z", + "created_at": "2025-11-18T04:42:09.263480298Z", + "updated_at": "2025-11-18T04:57:38.118595715Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "built", "secrets": [], "current_version": { - "id": "bd05521b-4f4a-4022-8be8-6f77382a55a8", + "id": "e992071e-eb96-4ecb-b9eb-9ad766817551", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node18", "status": "BUILT", - "number": 1, - "build_time": "2025-10-31T14:57:23.139420848Z", - "created_at": "2025-10-31T14:57:23.082767653Z", - "updated_at": "2025-10-31T14:57:23.139739622Z" + "number": 5, + "build_time": "2025-11-18T04:51:47.881650665Z", + "created_at": "2025-11-18T04:51:47.821317510Z", + "updated_at": "2025-11-18T04:51:47.881927882Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "bd05521b-4f4a-4022-8be8-6f77382a55a8", + "id": "e992071e-eb96-4ecb-b9eb-9ad766817551", "deployed": true, - "number": 1, - "built_at": "2025-10-31T14:57:23.139420848Z", + "number": 5, + "built_at": "2025-11-18T04:51:47.881650665Z", "secrets": [], "status": "built", - "created_at": "2025-10-31T14:57:23.082767653Z", - "updated_at": "2025-10-31T14:57:23.139739622Z", + "created_at": "2025-11-18T04:51:47.821317510Z", + "updated_at": "2025-11-18T04:51:47.881927882Z", "runtime": "node18", "supported_triggers": [ { @@ -2792,19 +2695,19 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "POST", - "path": "/api/v2/actions/actions/0ba50458-8f40-4350-a690-484c530cb5c5/deploy", + "path": "/api/v2/actions/actions/ada80236-a38c-477e-8607-57fb51c714f6/deploy", "body": "", "status": 200, "response": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "da63abed-397d-4157-bc09-05e87df4847e", + "id": "885be92c-2489-4396-afac-4874030555f6", "deployed": false, - "number": 2, + "number": 6, "secrets": [], "status": "built", - "created_at": "2025-10-31T14:59:08.333737462Z", - "updated_at": "2025-10-31T14:59:08.333737462Z", + "created_at": "2025-11-18T04:57:38.852930623Z", + "updated_at": "2025-11-18T04:57:38.852930623Z", "runtime": "node18", "supported_triggers": [ { @@ -2813,7 +2716,7 @@ } ], "action": { - "id": "0ba50458-8f40-4350-a690-484c530cb5c5", + "id": "ada80236-a38c-477e-8607-57fb51c714f6", "name": "My Custom Action", "supported_triggers": [ { @@ -2821,14 +2724,60 @@ "version": "v2" } ], - "created_at": "2025-10-31T14:57:22.321709927Z", - "updated_at": "2025-10-31T14:59:07.473633519Z", + "created_at": "2025-11-18T04:42:09.263480298Z", + "updated_at": "2025-11-18T04:57:38.106535202Z", "all_changes_deployed": false } }, "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/suspicious-ip-throttling", + "body": { + "enabled": true, + "shields": [ + "admin_notification" + ], + "allowlist": [ + "127.0.0.1" + ], + "stage": { + "pre-login": { + "max_attempts": 66, + "rate": 864000 + }, + "pre-user-registration": { + "max_attempts": 66, + "rate": 1200 + } + } + }, + "status": 200, + "response": { + "enabled": true, + "shields": [ + "admin_notification" + ], + "allowlist": [ + "127.0.0.1" + ], + "stage": { + "pre-login": { + "max_attempts": 66, + "rate": 864000 + }, + "pre-user-registration": { + "max_attempts": 66, + "rate": 1200 + } + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -2885,52 +2834,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/suspicious-ip-throttling", - "body": { - "enabled": true, - "shields": [ - "admin_notification" - ], - "allowlist": [ - "127.0.0.1" - ], - "stage": { - "pre-login": { - "max_attempts": 66, - "rate": 864000 - }, - "pre-user-registration": { - "max_attempts": 66, - "rate": 1200 - } - } - }, - "status": 200, - "response": { - "enabled": true, - "shields": [ - "admin_notification" - ], - "allowlist": [ - "127.0.0.1" - ], - "stage": { - "pre-login": { - "max_attempts": 66, - "rate": 864000 - }, - "pre-user-registration": { - "max_attempts": 66, - "rate": 1200 - } - } - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -2958,7 +2861,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-10-31T14:57:24.230Z", + "updated_at": "2025-11-18T04:51:48.948Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] @@ -2968,7 +2871,7 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PUT", + "method": "PATCH", "path": "/api/v2/network-acls/acl_wpZ6oScRU5L6QKAxMUMHmx", "body": { "priority": 1, @@ -3003,7 +2906,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-10-31T14:59:09.594Z", + "updated_at": "2025-11-18T04:57:40.114Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" }, "rawHeaders": [], @@ -3064,67 +2967,12 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/user-attribute-profiles?take=50", - "body": "", - "status": 200, - "response": { - "user_attribute_profiles": [ - { - "id": "uap_1csDj3szFsgxGS1oTZTdFm", - "name": "test-user-attribute-profile-2", - "user_id": { - "oidc_mapping": "sub", - "saml_mapping": [ - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" - ], - "scim_mapping": "externalId" - }, - "user_attributes": { - "email": { - "label": "Email", - "description": "Email of the User", - "auth0_mapping": "email", - "profile_required": true - } - } - }, - { - "id": "uap_1csDj3sAVu6n5eTzLw6XZg", - "name": "test-user-attribute-profile", - "user_id": { - "oidc_mapping": "sub", - "saml_mapping": [ - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" - ], - "scim_mapping": "externalId" - }, - "user_attributes": { - "email": { - "label": "Email", - "description": "Email of the User", - "auth0_mapping": "email", - "profile_required": true - } - } - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/user-attribute-profiles/uap_1csDj3szFsgxGS1oTZTdFm", + "path": "/api/v2/user-attribute-profiles/uap_1csDj3sAVu6n5eTzLw6XZg", "body": { - "name": "test-user-attribute-profile-2", + "name": "test-user-attribute-profile", "user_attributes": { "email": { "description": "Email of the User", @@ -3140,8 +2988,8 @@ }, "status": 200, "response": { - "id": "uap_1csDj3szFsgxGS1oTZTdFm", - "name": "test-user-attribute-profile-2", + "id": "uap_1csDj3sAVu6n5eTzLw6XZg", + "name": "test-user-attribute-profile", "user_id": { "oidc_mapping": "sub", "saml_mapping": [ @@ -3166,9 +3014,9 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/user-attribute-profiles/uap_1csDj3sAVu6n5eTzLw6XZg", + "path": "/api/v2/user-attribute-profiles/uap_1csDj3szFsgxGS1oTZTdFm", "body": { - "name": "test-user-attribute-profile", + "name": "test-user-attribute-profile-2", "user_attributes": { "email": { "description": "Email of the User", @@ -3184,8 +3032,8 @@ }, "status": 200, "response": { - "id": "uap_1csDj3sAVu6n5eTzLw6XZg", - "name": "test-user-attribute-profile", + "id": "uap_1csDj3szFsgxGS1oTZTdFm", + "name": "test-user-attribute-profile-2", "user_id": { "oidc_mapping": "sub", "saml_mapping": [ @@ -3277,9 +3125,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "API Explorer Application", "allowed_clients": [], "callbacks": [], @@ -3313,7 +3158,7 @@ "subject": "deprecated" } ], - "client_id": "eZwzdXan9x27088CTPhLeCSqJK5Qsb5w", + "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3333,9 +3178,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Node App", "allowed_clients": [], "allowed_logout_urls": [], @@ -3371,7 +3213,7 @@ } ], "allowed_origins": [], - "client_id": "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", + "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3395,9 +3237,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Quickstarts API (Test Application)", "client_metadata": { "foo": "bar" @@ -3423,7 +3262,7 @@ "subject": "deprecated" } ], - "client_id": "KBmsLova1QU1cLpNZ5Wst9NexolH66zz", + "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3442,9 +3281,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Terraform Provider", "cross_origin_auth": false, "is_first_party": true, @@ -3467,7 +3303,7 @@ "subject": "deprecated" } ], - "client_id": "GjnPFoLI9mBsl7zVfF1YcuicqzXFGsfP", + "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3486,12 +3322,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -3503,17 +3341,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -3523,7 +3360,7 @@ "subject": "deprecated" } ], - "client_id": "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", + "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3532,12 +3369,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -3545,17 +3385,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -3567,16 +3399,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -3586,7 +3419,7 @@ "subject": "deprecated" } ], - "client_id": "jm6MlJhDC7xIgKBYePEAsFjMtlJ1ScDE", + "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3595,15 +3428,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -3611,9 +3441,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], @@ -3647,7 +3474,7 @@ "subject": "deprecated" } ], - "client_id": "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI", + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3708,16 +3535,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&strategy=auth0", + "path": "/api/v2/connections?take=50&strategy=auth0", "body": "", "status": 200, "response": { - "total": 2, - "start": 0, - "limit": 50, "connections": [ { - "id": "con_ztvlJaf7zhCaAC7v", + "id": "con_gSK3HKh000WR2Yg5", "options": { "mfa": { "active": true, @@ -3773,59 +3597,25 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" + "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" ] - }, + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections?take=50&strategy=auth0", + "body": "", + "status": 200, + "response": { + "connections": [ { - "id": "con_85Lq3efegcuZcVni", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50&strategy=auth0", - "body": "", - "status": 200, - "response": { - "connections": [ - { - "id": "con_ztvlJaf7zhCaAC7v", + "id": "con_gSK3HKh000WR2Yg5", "options": { "mfa": { "active": true, @@ -3881,42 +3671,8 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" - ] - }, - { - "id": "con_85Lq3efegcuZcVni", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" ] } ] @@ -3927,108 +3683,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&strategy=auth0", + "path": "/api/v2/connections/con_gSK3HKh000WR2Yg5/clients?take=50", "body": "", "status": 200, "response": { - "total": 2, - "start": 0, - "limit": 50, - "connections": [ + "clients": [ { - "id": "con_ztvlJaf7zhCaAC7v", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true - }, - "strategy": "auth0", - "name": "boo-baz-db-connection-test", - "is_domain_connection": false, - "realms": [ - "boo-baz-db-connection-test" - ], - "enabled_clients": [ - "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" - ] + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" }, { - "id": "con_85Lq3efegcuZcVni", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - ] + "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K" } ] }, @@ -4038,105 +3702,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50&strategy=auth0", + "path": "/api/v2/connections/con_gSK3HKh000WR2Yg5/clients?take=50", "body": "", "status": 200, "response": { - "connections": [ + "clients": [ { - "id": "con_ztvlJaf7zhCaAC7v", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true - }, - "strategy": "auth0", - "name": "boo-baz-db-connection-test", - "is_domain_connection": false, - "realms": [ - "boo-baz-db-connection-test" - ], - "enabled_clients": [ - "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" - ] + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" }, { - "id": "con_85Lq3efegcuZcVni", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - ] + "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K" } ] }, @@ -4146,62 +3721,15 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_ztvlJaf7zhCaAC7v/clients?take=50", + "path": "/api/v2/connections/con_gSK3HKh000WR2Yg5", "body": "", "status": 200, "response": { - "clients": [ - { - "client_id": "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" - }, - { - "client_id": "SrN1EUDvsQo826qtaOqWlxMRN5y08alc" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_85Lq3efegcuZcVni/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ - { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "DELETE", - "path": "/api/v2/connections/con_85Lq3efegcuZcVni", - "body": "", - "status": 202, - "response": { - "deleted_at": "2025-10-31T14:59:13.523Z" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_ztvlJaf7zhCaAC7v", - "body": "", - "status": 200, - "response": { - "id": "con_ztvlJaf7zhCaAC7v", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true + "id": "con_gSK3HKh000WR2Yg5", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true }, "import_mode": false, "customScripts": { @@ -4250,8 +3778,8 @@ "name": "boo-baz-db-connection-test", "is_domain_connection": false, "enabled_clients": [ - "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" + "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" ], "realms": [ "boo-baz-db-connection-test" @@ -4263,11 +3791,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_ztvlJaf7zhCaAC7v", + "path": "/api/v2/connections/con_gSK3HKh000WR2Yg5", "body": { "enabled_clients": [ - "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" + "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" ], "is_domain_connection": false, "options": { @@ -4324,7 +3852,7 @@ }, "status": 200, "response": { - "id": "con_ztvlJaf7zhCaAC7v", + "id": "con_gSK3HKh000WR2Yg5", "options": { "mfa": { "active": true, @@ -4377,8 +3905,8 @@ "name": "boo-baz-db-connection-test", "is_domain_connection": false, "enabled_clients": [ - "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" + "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" ], "realms": [ "boo-baz-db-connection-test" @@ -4390,14 +3918,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_ztvlJaf7zhCaAC7v/clients", + "path": "/api/v2/connections/con_gSK3HKh000WR2Yg5/clients", "body": [ { - "client_id": "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", + "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", "status": true }, { - "client_id": "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI", + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", "status": true } ], @@ -4476,9 +4004,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "API Explorer Application", "allowed_clients": [], "callbacks": [], @@ -4512,7 +4037,7 @@ "subject": "deprecated" } ], - "client_id": "eZwzdXan9x27088CTPhLeCSqJK5Qsb5w", + "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4532,9 +4057,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Node App", "allowed_clients": [], "allowed_logout_urls": [], @@ -4570,7 +4092,7 @@ } ], "allowed_origins": [], - "client_id": "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", + "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4594,9 +4116,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Quickstarts API (Test Application)", "client_metadata": { "foo": "bar" @@ -4622,7 +4141,7 @@ "subject": "deprecated" } ], - "client_id": "KBmsLova1QU1cLpNZ5Wst9NexolH66zz", + "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4641,9 +4160,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Terraform Provider", "cross_origin_auth": false, "is_first_party": true, @@ -4666,7 +4182,7 @@ "subject": "deprecated" } ], - "client_id": "GjnPFoLI9mBsl7zVfF1YcuicqzXFGsfP", + "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4685,12 +4201,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -4702,17 +4220,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -4722,7 +4239,7 @@ "subject": "deprecated" } ], - "client_id": "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", + "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4731,12 +4248,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -4744,17 +4264,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -4766,16 +4278,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -4785,7 +4298,7 @@ "subject": "deprecated" } ], - "client_id": "jm6MlJhDC7xIgKBYePEAsFjMtlJ1ScDE", + "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4794,15 +4307,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -4810,9 +4320,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], @@ -4846,7 +4353,7 @@ "subject": "deprecated" } ], - "client_id": "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI", + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4907,16 +4414,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true", + "path": "/api/v2/connections?take=50", "body": "", "status": 200, "response": { - "total": 2, - "start": 0, - "limit": 50, "connections": [ { - "id": "con_ztvlJaf7zhCaAC7v", + "id": "con_gSK3HKh000WR2Yg5", "options": { "mfa": { "active": true, @@ -4972,12 +4476,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" + "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" ] }, { - "id": "con_6tyEu2hOP8JuHJku", + "id": "con_TZft9UmXrtdJXHZN", "options": { "email": true, "scope": [ @@ -4993,8 +4497,8 @@ "google-oauth2" ], "enabled_clients": [ - "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" + "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", + "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" ] } ] @@ -5005,13 +4509,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50", + "path": "/api/v2/connections?take=50", "body": "", "status": 200, "response": { "connections": [ { - "id": "con_ztvlJaf7zhCaAC7v", + "id": "con_gSK3HKh000WR2Yg5", "options": { "mfa": { "active": true, @@ -5067,12 +4571,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" + "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" ] }, { - "id": "con_6tyEu2hOP8JuHJku", + "id": "con_TZft9UmXrtdJXHZN", "options": { "email": true, "scope": [ @@ -5088,8 +4592,8 @@ "google-oauth2" ], "enabled_clients": [ - "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" + "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", + "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" ] } ] @@ -5100,95 +4604,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true", + "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN/clients?take=50", "body": "", "status": 200, "response": { - "total": 2, - "start": 0, - "limit": 50, - "connections": [ + "clients": [ { - "id": "con_ztvlJaf7zhCaAC7v", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true - }, - "strategy": "auth0", - "name": "boo-baz-db-connection-test", - "is_domain_connection": false, - "realms": [ - "boo-baz-db-connection-test" - ], - "enabled_clients": [ - "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" - ] + "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU" }, { - "id": "con_6tyEu2hOP8JuHJku", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "realms": [ - "google-oauth2" - ], - "enabled_clients": [ - "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" - ] + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" } ] }, @@ -5198,111 +4623,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50", + "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN/clients?take=50", "body": "", "status": 200, "response": { - "connections": [ + "clients": [ { - "id": "con_ztvlJaf7zhCaAC7v", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true - }, - "strategy": "auth0", - "name": "boo-baz-db-connection-test", - "is_domain_connection": false, - "realms": [ - "boo-baz-db-connection-test" - ], - "enabled_clients": [ - "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" - ] + "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU" }, { - "id": "con_6tyEu2hOP8JuHJku", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "realms": [ - "google-oauth2" - ], - "enabled_clients": [ - "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_6tyEu2hOP8JuHJku/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ - { - "client_id": "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" - }, - { - "client_id": "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw" + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" } ] }, @@ -5312,11 +4642,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_6tyEu2hOP8JuHJku", + "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN", "body": { "enabled_clients": [ - "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" + "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", + "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" ], "is_domain_connection": false, "options": { @@ -5330,7 +4660,7 @@ }, "status": 200, "response": { - "id": "con_6tyEu2hOP8JuHJku", + "id": "con_TZft9UmXrtdJXHZN", "options": { "email": true, "scope": [ @@ -5343,8 +4673,8 @@ "name": "google-oauth2", "is_domain_connection": false, "enabled_clients": [ - "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" + "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", + "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" ], "realms": [ "google-oauth2" @@ -5356,14 +4686,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_6tyEu2hOP8JuHJku/clients", + "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN/clients", "body": [ { - "client_id": "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", + "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", "status": true }, { - "client_id": "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI", + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", "status": true } ], @@ -5479,9 +4809,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "API Explorer Application", "allowed_clients": [], "callbacks": [], @@ -5515,7 +4842,7 @@ "subject": "deprecated" } ], - "client_id": "eZwzdXan9x27088CTPhLeCSqJK5Qsb5w", + "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5535,9 +4862,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Node App", "allowed_clients": [], "allowed_logout_urls": [], @@ -5573,7 +4897,7 @@ } ], "allowed_origins": [], - "client_id": "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", + "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5597,9 +4921,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Quickstarts API (Test Application)", "client_metadata": { "foo": "bar" @@ -5625,7 +4946,7 @@ "subject": "deprecated" } ], - "client_id": "KBmsLova1QU1cLpNZ5Wst9NexolH66zz", + "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5644,9 +4965,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Terraform Provider", "cross_origin_auth": false, "is_first_party": true, @@ -5669,7 +4987,7 @@ "subject": "deprecated" } ], - "client_id": "GjnPFoLI9mBsl7zVfF1YcuicqzXFGsfP", + "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5688,12 +5006,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -5705,17 +5025,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -5725,7 +5044,7 @@ "subject": "deprecated" } ], - "client_id": "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", + "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5734,12 +5053,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -5747,17 +5069,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -5769,16 +5083,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -5788,7 +5103,7 @@ "subject": "deprecated" } ], - "client_id": "jm6MlJhDC7xIgKBYePEAsFjMtlJ1ScDE", + "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5797,15 +5112,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -5813,9 +5125,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], @@ -5849,7 +5158,7 @@ "subject": "deprecated" } ], - "client_id": "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI", + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5910,17 +5219,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/client-grants?per_page=100&page=0&include_totals=true", + "path": "/api/v2/client-grants?take=50", "body": "", "status": 200, "response": { - "total": 3, - "start": 0, - "limit": 100, "client_grants": [ { - "id": "cgr_FWvBRbi6ftSVCXKS", - "client_id": "GjnPFoLI9mBsl7zVfF1YcuicqzXFGsfP", + "id": "cgr_3AYjjoZPrtNXxpUX", + "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -6057,8 +5363,8 @@ "subject_type": "client" }, { - "id": "cgr_pbwejzhwoujrsNE8", - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "id": "cgr_9BAlRXJOVpDaB7eR", + "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -6085,10 +5391,6 @@ "update:client_keys", "delete:client_keys", "create:client_keys", - "read:client_credentials", - "update:client_credentials", - "delete:client_credentials", - "create:client_credentials", "read:connections", "update:connections", "delete:connections", @@ -6178,19 +5480,10 @@ "read:entitlements", "read:attack_protection", "update:attack_protection", - "read:organizations_summary", - "create:authentication_methods", - "read:authentication_methods", - "update:authentication_methods", - "delete:authentication_methods", "read:organizations", "update:organizations", "create:organizations", "delete:organizations", - "read:organization_discovery_domains", - "update:organization_discovery_domains", - "create:organization_discovery_domains", - "delete:organization_discovery_domains", "create:organization_members", "read:organization_members", "delete:organization_members", @@ -6203,97 +5496,13 @@ "delete:organization_member_roles", "create:organization_invitations", "read:organization_invitations", - "delete:organization_invitations", - "read:scim_config", - "create:scim_config", - "update:scim_config", - "delete:scim_config", - "create:scim_token", - "read:scim_token", - "delete:scim_token", - "delete:phone_providers", - "create:phone_providers", - "read:phone_providers", - "update:phone_providers", - "delete:phone_templates", - "create:phone_templates", - "read:phone_templates", - "update:phone_templates", - "create:encryption_keys", - "read:encryption_keys", - "update:encryption_keys", - "delete:encryption_keys", - "read:sessions", - "update:sessions", - "delete:sessions", - "read:refresh_tokens", - "delete:refresh_tokens", - "create:self_service_profiles", - "read:self_service_profiles", - "update:self_service_profiles", - "delete:self_service_profiles", - "create:sso_access_tickets", - "delete:sso_access_tickets", - "read:forms", - "update:forms", - "delete:forms", - "create:forms", - "read:flows", - "update:flows", - "delete:flows", - "create:flows", - "read:flows_vault", - "read:flows_vault_connections", - "update:flows_vault_connections", - "delete:flows_vault_connections", - "create:flows_vault_connections", - "read:flows_executions", - "delete:flows_executions", - "read:connections_options", - "update:connections_options", - "read:self_service_profile_custom_texts", - "update:self_service_profile_custom_texts", - "create:network_acls", - "update:network_acls", - "read:network_acls", - "delete:network_acls", - "delete:vdcs_templates", - "read:vdcs_templates", - "create:vdcs_templates", - "update:vdcs_templates", - "create:custom_signing_keys", - "read:custom_signing_keys", - "update:custom_signing_keys", - "delete:custom_signing_keys", - "read:federated_connections_tokens", - "delete:federated_connections_tokens", - "create:user_attribute_profiles", - "read:user_attribute_profiles", - "update:user_attribute_profiles", - "delete:user_attribute_profiles", - "read:event_streams", - "create:event_streams", - "delete:event_streams", - "update:event_streams", - "read:event_deliveries", - "update:event_deliveries", - "create:connection_profiles", - "read:connection_profiles", - "update:connection_profiles", - "delete:connection_profiles", - "read:organization_client_grants", - "create:organization_client_grants", - "delete:organization_client_grants", - "read:security_metrics", - "read:connections_keys", - "update:connections_keys", - "create:connections_keys" + "delete:organization_invitations" ], "subject_type": "client" }, { - "id": "cgr_sMnn6UuFajCTdk3u", - "client_id": "eZwzdXan9x27088CTPhLeCSqJK5Qsb5w", + "id": "cgr_pbwejzhwoujrsNE8", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -6320,6 +5529,10 @@ "update:client_keys", "delete:client_keys", "create:client_keys", + "read:client_credentials", + "update:client_credentials", + "delete:client_credentials", + "create:client_credentials", "read:connections", "update:connections", "delete:connections", @@ -6409,10 +5622,19 @@ "read:entitlements", "read:attack_protection", "update:attack_protection", + "read:organizations_summary", + "create:authentication_methods", + "read:authentication_methods", + "update:authentication_methods", + "delete:authentication_methods", "read:organizations", "update:organizations", "create:organizations", "delete:organizations", + "read:organization_discovery_domains", + "update:organization_discovery_domains", + "create:organization_discovery_domains", + "delete:organization_discovery_domains", "create:organization_members", "read:organization_members", "delete:organization_members", @@ -6425,58 +5647,142 @@ "delete:organization_member_roles", "create:organization_invitations", "read:organization_invitations", - "delete:organization_invitations" - ], - "subject_type": "client" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/client-grants/cgr_sMnn6UuFajCTdk3u", - "body": { - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", + "delete:organization_invitations", + "read:scim_config", + "create:scim_config", + "update:scim_config", + "delete:scim_config", + "create:scim_token", + "read:scim_token", + "delete:scim_token", + "delete:phone_providers", + "create:phone_providers", + "read:phone_providers", + "update:phone_providers", + "delete:phone_templates", + "create:phone_templates", + "read:phone_templates", + "update:phone_templates", + "create:encryption_keys", + "read:encryption_keys", + "update:encryption_keys", + "delete:encryption_keys", + "read:sessions", + "update:sessions", + "delete:sessions", + "read:refresh_tokens", + "delete:refresh_tokens", + "create:self_service_profiles", + "read:self_service_profiles", + "update:self_service_profiles", + "delete:self_service_profiles", + "create:sso_access_tickets", + "delete:sso_access_tickets", + "read:forms", + "update:forms", + "delete:forms", + "create:forms", + "read:flows", + "update:flows", + "delete:flows", + "create:flows", + "read:flows_vault", + "read:flows_vault_connections", + "update:flows_vault_connections", + "delete:flows_vault_connections", + "create:flows_vault_connections", + "read:flows_executions", + "delete:flows_executions", + "read:connections_options", + "update:connections_options", + "read:self_service_profile_custom_texts", + "update:self_service_profile_custom_texts", + "create:network_acls", + "update:network_acls", + "read:network_acls", + "delete:network_acls", + "delete:vdcs_templates", + "read:vdcs_templates", + "create:vdcs_templates", + "update:vdcs_templates", + "create:custom_signing_keys", + "read:custom_signing_keys", + "update:custom_signing_keys", + "delete:custom_signing_keys", + "read:federated_connections_tokens", + "delete:federated_connections_tokens", + "create:user_attribute_profiles", + "read:user_attribute_profiles", + "update:user_attribute_profiles", + "delete:user_attribute_profiles", + "read:event_streams", + "create:event_streams", + "delete:event_streams", + "update:event_streams", + "read:event_deliveries", + "update:event_deliveries", + "create:connection_profiles", + "read:connection_profiles", + "update:connection_profiles", + "delete:connection_profiles", + "read:organization_client_grants", + "create:organization_client_grants", + "delete:organization_client_grants", + "read:security_metrics", + "read:connections_keys", + "update:connections_keys", + "create:connections_keys" + ], + "subject_type": "client" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/client-grants/cgr_9BAlRXJOVpDaB7eR", + "body": { + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", "update:rules", "delete:rules", "create:rules", @@ -6574,8 +5880,8 @@ }, "status": 200, "response": { - "id": "cgr_sMnn6UuFajCTdk3u", - "client_id": "eZwzdXan9x27088CTPhLeCSqJK5Qsb5w", + "id": "cgr_9BAlRXJOVpDaB7eR", + "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -6717,7 +6023,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/client-grants/cgr_FWvBRbi6ftSVCXKS", + "path": "/api/v2/client-grants/cgr_3AYjjoZPrtNXxpUX", "body": { "scope": [ "read:client_grants", @@ -6854,8 +6160,8 @@ }, "status": 200, "response": { - "id": "cgr_FWvBRbi6ftSVCXKS", - "client_id": "GjnPFoLI9mBsl7zVfF1YcuicqzXFGsfP", + "id": "cgr_3AYjjoZPrtNXxpUX", + "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -7003,22 +6309,22 @@ "response": { "roles": [ { - "id": "rol_4BDf23iFJRSAfWkE", + "id": "rol_QuDH6eKysxE8ilL9", "name": "Admin", "description": "Can read and write things" }, { - "id": "rol_81RrNH8R5oCDnBUG", + "id": "rol_3OJzKOu3TsUKCvFO", "name": "Reader", "description": "Can only read things" }, { - "id": "rol_v44pj0PGL7Gq9FQC", + "id": "rol_dqwrzyi9Bx9QmZ3E", "name": "read_only", "description": "Read Only" }, { - "id": "rol_CyaPmtQRfUFB7rxL", + "id": "rol_tcKxqeYyc6Eqp7Jb", "name": "read_osnly", "description": "Readz Only" } @@ -7033,7 +6339,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_4BDf23iFJRSAfWkE/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_QuDH6eKysxE8ilL9/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -7048,7 +6354,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_81RrNH8R5oCDnBUG/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_QuDH6eKysxE8ilL9/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -7063,7 +6369,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_v44pj0PGL7Gq9FQC/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_3OJzKOu3TsUKCvFO/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -7078,7 +6384,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_CyaPmtQRfUFB7rxL/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_3OJzKOu3TsUKCvFO/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -7092,17 +6398,60 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/roles/rol_81RrNH8R5oCDnBUG", - "body": { - "name": "Reader", - "description": "Can only read things" + "method": "GET", + "path": "/api/v2/roles/rol_dqwrzyi9Bx9QmZ3E/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_dqwrzyi9Bx9QmZ3E/permissions?per_page=100&page=0&include_totals=true", + "body": "", "status": 200, "response": { - "id": "rol_81RrNH8R5oCDnBUG", - "name": "Reader", - "description": "Can only read things" + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_tcKxqeYyc6Eqp7Jb/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_tcKxqeYyc6Eqp7Jb/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 }, "rawHeaders": [], "responseIsBinary": false @@ -7110,14 +6459,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/roles/rol_4BDf23iFJRSAfWkE", + "path": "/api/v2/roles/rol_QuDH6eKysxE8ilL9", "body": { "name": "Admin", "description": "Can read and write things" }, "status": 200, "response": { - "id": "rol_4BDf23iFJRSAfWkE", + "id": "rol_QuDH6eKysxE8ilL9", "name": "Admin", "description": "Can read and write things" }, @@ -7127,14 +6476,31 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/roles/rol_v44pj0PGL7Gq9FQC", + "path": "/api/v2/roles/rol_3OJzKOu3TsUKCvFO", + "body": { + "name": "Reader", + "description": "Can only read things" + }, + "status": 200, + "response": { + "id": "rol_3OJzKOu3TsUKCvFO", + "name": "Reader", + "description": "Can only read things" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/roles/rol_dqwrzyi9Bx9QmZ3E", "body": { "name": "read_only", "description": "Read Only" }, "status": 200, "response": { - "id": "rol_v44pj0PGL7Gq9FQC", + "id": "rol_dqwrzyi9Bx9QmZ3E", "name": "read_only", "description": "Read Only" }, @@ -7144,14 +6510,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/roles/rol_CyaPmtQRfUFB7rxL", + "path": "/api/v2/roles/rol_tcKxqeYyc6Eqp7Jb", "body": { "name": "read_osnly", "description": "Readz Only" }, "status": 200, "response": { - "id": "rol_CyaPmtQRfUFB7rxL", + "id": "rol_tcKxqeYyc6Eqp7Jb", "name": "read_osnly", "description": "Readz Only" }, @@ -7187,7 +6553,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-10-31T14:57:39.353Z", + "updated_at": "2025-11-18T04:52:03.403Z", "branding": { "colors": { "primary": "#19aecc" @@ -7263,7 +6629,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-10-31T14:59:23.732Z", + "updated_at": "2025-11-18T04:57:54.740Z", "branding": { "colors": { "primary": "#19aecc" @@ -7276,25 +6642,27 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/email-templates/verify_email", + "path": "/api/v2/email-templates/welcome_email", "body": { - "template": "verify_email", - "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", - "enabled": true, + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "enabled": false, "from": "", - "subject": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", "syntax": "liquid", - "urlLifetimeInSeconds": 432000 + "urlLifetimeInSeconds": 3600 }, "status": 200, "response": { - "template": "verify_email", - "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", "from": "", - "subject": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", "syntax": "liquid", - "urlLifetimeInSeconds": 432000, - "enabled": true + "urlLifetimeInSeconds": 3600, + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -7302,27 +6670,25 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/email-templates/welcome_email", + "path": "/api/v2/email-templates/verify_email", "body": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "enabled": false, + "template": "verify_email", + "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", + "enabled": true, "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", + "subject": "", "syntax": "liquid", - "urlLifetimeInSeconds": 3600 + "urlLifetimeInSeconds": 432000 }, "status": 200, "response": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", + "template": "verify_email", + "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", + "subject": "", "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false + "urlLifetimeInSeconds": 432000, + "enabled": true }, "rawHeaders": [], "responseIsBinary": false @@ -7330,13 +6696,18 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations?include_totals=true", + "path": "/api/v2/organizations?take=50", "body": "", "status": 200, "response": { "organizations": [ { - "id": "org_VF8F48N4jwlx9iqb", + "id": "org_JrXRxTbTrRdicEcf", + "name": "org2", + "display_name": "Organization2" + }, + { + "id": "org_PCcwQ9qOcuJfWkEL", "name": "org1", "display_name": "Organization", "branding": { @@ -7345,16 +6716,8 @@ "primary": "#57ddff" } } - }, - { - "id": "org_9YMsat8TwkngWftp", - "name": "org2", - "display_name": "Organization2" } - ], - "start": 0, - "limit": 50, - "total": 2 + ] }, "rawHeaders": [], "responseIsBinary": false @@ -7429,9 +6792,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "API Explorer Application", "allowed_clients": [], "callbacks": [], @@ -7465,7 +6825,7 @@ "subject": "deprecated" } ], - "client_id": "eZwzdXan9x27088CTPhLeCSqJK5Qsb5w", + "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7485,9 +6845,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Node App", "allowed_clients": [], "allowed_logout_urls": [], @@ -7523,7 +6880,7 @@ } ], "allowed_origins": [], - "client_id": "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", + "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7547,9 +6904,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Quickstarts API (Test Application)", "client_metadata": { "foo": "bar" @@ -7575,7 +6929,7 @@ "subject": "deprecated" } ], - "client_id": "KBmsLova1QU1cLpNZ5Wst9NexolH66zz", + "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7594,9 +6948,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Terraform Provider", "cross_origin_auth": false, "is_first_party": true, @@ -7619,7 +6970,7 @@ "subject": "deprecated" } ], - "client_id": "GjnPFoLI9mBsl7zVfF1YcuicqzXFGsfP", + "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7638,12 +6989,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -7655,17 +7008,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -7675,7 +7027,7 @@ "subject": "deprecated" } ], - "client_id": "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", + "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7684,12 +7036,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -7697,17 +7052,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -7719,16 +7066,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -7738,7 +7086,7 @@ "subject": "deprecated" } ], - "client_id": "jm6MlJhDC7xIgKBYePEAsFjMtlJ1ScDE", + "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7747,15 +7095,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -7763,9 +7108,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], @@ -7799,7 +7141,7 @@ "subject": "deprecated" } ], - "client_id": "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI", + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7860,28 +7202,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations?include_totals=true&take=50", + "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "organizations": [ - { - "id": "org_VF8F48N4jwlx9iqb", - "name": "org1", - "display_name": "Organization", - "branding": { - "colors": { - "page_background": "#fff5f5", - "primary": "#57ddff" - } - } - }, - { - "id": "org_9YMsat8TwkngWftp", - "name": "org2", - "display_name": "Organization2" - } - ] + "enabled_connections": [], + "start": 0, + "limit": 0, + "total": 0 }, "rawHeaders": [], "responseIsBinary": false @@ -7889,23 +7217,43 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_VF8F48N4jwlx9iqb/enabled_connections", + "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, - "response": [], + "response": { + "enabled_connections": [], + "start": 0, + "limit": 0, + "total": 0 + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_VF8F48N4jwlx9iqb/client-grants?page=0&per_page=100&include_totals=true", + "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { "client_grants": [], "start": 0, - "limit": 100, + "limit": 50, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/client-grants?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "client_grants": [], + "start": 0, + "limit": 50, "total": 0 }, "rawHeaders": [], @@ -7914,7 +7262,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_VF8F48N4jwlx9iqb/discovery-domains?take=50", + "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -7926,23 +7274,25 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_9YMsat8TwkngWftp/enabled_connections", + "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/discovery-domains?take=50", "body": "", "status": 200, - "response": [], + "response": { + "domains": [] + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_9YMsat8TwkngWftp/client-grants?page=0&per_page=100&include_totals=true", + "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "client_grants": [], + "enabled_connections": [], "start": 0, - "limit": 100, + "limit": 0, "total": 0 }, "rawHeaders": [], @@ -7951,11 +7301,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_9YMsat8TwkngWftp/discovery-domains?take=50", + "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "domains": [] + "enabled_connections": [], + "start": 0, + "limit": 0, + "total": 0 }, "rawHeaders": [], "responseIsBinary": false @@ -7963,97 +7316,53 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true", + "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "total": 2, + "client_grants": [], "start": 0, "limit": 50, - "connections": [ - { - "id": "con_ztvlJaf7zhCaAC7v", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true - }, - "strategy": "auth0", - "name": "boo-baz-db-connection-test", - "is_domain_connection": false, - "realms": [ - "boo-baz-db-connection-test" - ], - "enabled_clients": [ - "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" - ] - }, - { - "id": "con_6tyEu2hOP8JuHJku", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "realms": [ - "google-oauth2" - ], - "enabled_clients": [ - "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" - ] - } - ] + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/client-grants?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "client_grants": [], + "start": 0, + "limit": 50, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/discovery-domains?take=50", + "body": "", + "status": 200, + "response": { + "domains": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/discovery-domains?take=50", + "body": "", + "status": 200, + "response": { + "domains": [] }, "rawHeaders": [], "responseIsBinary": false @@ -8061,13 +7370,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50", + "path": "/api/v2/connections?take=50", "body": "", "status": 200, "response": { "connections": [ { - "id": "con_ztvlJaf7zhCaAC7v", + "id": "con_gSK3HKh000WR2Yg5", "options": { "mfa": { "active": true, @@ -8123,12 +7432,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" + "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" ] }, { - "id": "con_6tyEu2hOP8JuHJku", + "id": "con_TZft9UmXrtdJXHZN", "options": { "email": true, "scope": [ @@ -8144,8 +7453,8 @@ "google-oauth2" ], "enabled_clients": [ - "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" + "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", + "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" ] } ] @@ -8156,541 +7465,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/client-grants?per_page=100&page=0&include_totals=true", + "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { - "total": 3, + "total": 9, "start": 0, "limit": 100, - "client_grants": [ - { - "id": "cgr_FWvBRbi6ftSVCXKS", - "client_id": "GjnPFoLI9mBsl7zVfF1YcuicqzXFGsfP", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" - ], - "subject_type": "client" - }, - { - "id": "cgr_pbwejzhwoujrsNE8", - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:client_credentials", - "update:client_credentials", - "delete:client_credentials", - "create:client_credentials", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations_summary", - "create:authentication_methods", - "read:authentication_methods", - "update:authentication_methods", - "delete:authentication_methods", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "read:organization_discovery_domains", - "update:organization_discovery_domains", - "create:organization_discovery_domains", - "delete:organization_discovery_domains", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations", - "read:scim_config", - "create:scim_config", - "update:scim_config", - "delete:scim_config", - "create:scim_token", - "read:scim_token", - "delete:scim_token", - "delete:phone_providers", - "create:phone_providers", - "read:phone_providers", - "update:phone_providers", - "delete:phone_templates", - "create:phone_templates", - "read:phone_templates", - "update:phone_templates", - "create:encryption_keys", - "read:encryption_keys", - "update:encryption_keys", - "delete:encryption_keys", - "read:sessions", - "update:sessions", - "delete:sessions", - "read:refresh_tokens", - "delete:refresh_tokens", - "create:self_service_profiles", - "read:self_service_profiles", - "update:self_service_profiles", - "delete:self_service_profiles", - "create:sso_access_tickets", - "delete:sso_access_tickets", - "read:forms", - "update:forms", - "delete:forms", - "create:forms", - "read:flows", - "update:flows", - "delete:flows", - "create:flows", - "read:flows_vault", - "read:flows_vault_connections", - "update:flows_vault_connections", - "delete:flows_vault_connections", - "create:flows_vault_connections", - "read:flows_executions", - "delete:flows_executions", - "read:connections_options", - "update:connections_options", - "read:self_service_profile_custom_texts", - "update:self_service_profile_custom_texts", - "create:network_acls", - "update:network_acls", - "read:network_acls", - "delete:network_acls", - "delete:vdcs_templates", - "read:vdcs_templates", - "create:vdcs_templates", - "update:vdcs_templates", - "create:custom_signing_keys", - "read:custom_signing_keys", - "update:custom_signing_keys", - "delete:custom_signing_keys", - "read:federated_connections_tokens", - "delete:federated_connections_tokens", - "create:user_attribute_profiles", - "read:user_attribute_profiles", - "update:user_attribute_profiles", - "delete:user_attribute_profiles", - "read:event_streams", - "create:event_streams", - "delete:event_streams", - "update:event_streams", - "read:event_deliveries", - "update:event_deliveries", - "create:connection_profiles", - "read:connection_profiles", - "update:connection_profiles", - "delete:connection_profiles", - "read:organization_client_grants", - "create:organization_client_grants", - "delete:organization_client_grants", - "read:security_metrics", - "read:connections_keys", - "update:connections_keys", - "create:connections_keys" - ], - "subject_type": "client" - }, - { - "id": "cgr_sMnn6UuFajCTdk3u", - "client_id": "eZwzdXan9x27088CTPhLeCSqJK5Qsb5w", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" - ], - "subject_type": "client" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", - "body": "", - "status": 200, - "response": { - "total": 9, - "start": 0, - "limit": 100, - "clients": [ + "clients": [ { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -8750,9 +7532,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "API Explorer Application", "allowed_clients": [], "callbacks": [], @@ -8786,7 +7565,7 @@ "subject": "deprecated" } ], - "client_id": "eZwzdXan9x27088CTPhLeCSqJK5Qsb5w", + "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8806,9 +7585,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Node App", "allowed_clients": [], "allowed_logout_urls": [], @@ -8844,7 +7620,7 @@ } ], "allowed_origins": [], - "client_id": "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", + "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8868,9 +7644,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Quickstarts API (Test Application)", "client_metadata": { "foo": "bar" @@ -8896,7 +7669,7 @@ "subject": "deprecated" } ], - "client_id": "KBmsLova1QU1cLpNZ5Wst9NexolH66zz", + "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8915,9 +7688,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Terraform Provider", "cross_origin_auth": false, "is_first_party": true, @@ -8940,7 +7710,7 @@ "subject": "deprecated" } ], - "client_id": "GjnPFoLI9mBsl7zVfF1YcuicqzXFGsfP", + "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8959,12 +7729,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -8976,17 +7748,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -8996,7 +7767,7 @@ "subject": "deprecated" } ], - "client_id": "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", + "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9005,12 +7776,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -9018,17 +7792,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -9040,16 +7806,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -9059,7 +7826,7 @@ "subject": "deprecated" } ], - "client_id": "jm6MlJhDC7xIgKBYePEAsFjMtlJ1ScDE", + "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9068,15 +7835,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -9084,9 +7848,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], @@ -9120,7 +7881,7 @@ "subject": "deprecated" } ], - "client_id": "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI", + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9134,44 +7895,568 @@ "grant_types": [ "client_credentials" ], - "custom_login_page_on": true + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": true, + "callbacks": [], + "is_first_party": true, + "name": "All Applications", + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" + ], + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/client-grants?take=50", + "body": "", + "status": 200, + "response": { + "client_grants": [ + { + "id": "cgr_3AYjjoZPrtNXxpUX", + "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ], + "subject_type": "client" }, { - "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], - "is_first_party": true, - "name": "All Applications", - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" + "id": "cgr_9BAlRXJOVpDaB7eR", + "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } + "subject_type": "client" + }, + { + "id": "cgr_pbwejzhwoujrsNE8", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:client_credentials", + "update:client_credentials", + "delete:client_credentials", + "create:client_credentials", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations_summary", + "create:authentication_methods", + "read:authentication_methods", + "update:authentication_methods", + "delete:authentication_methods", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "read:organization_discovery_domains", + "update:organization_discovery_domains", + "create:organization_discovery_domains", + "delete:organization_discovery_domains", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations", + "read:scim_config", + "create:scim_config", + "update:scim_config", + "delete:scim_config", + "create:scim_token", + "read:scim_token", + "delete:scim_token", + "delete:phone_providers", + "create:phone_providers", + "read:phone_providers", + "update:phone_providers", + "delete:phone_templates", + "create:phone_templates", + "read:phone_templates", + "update:phone_templates", + "create:encryption_keys", + "read:encryption_keys", + "update:encryption_keys", + "delete:encryption_keys", + "read:sessions", + "update:sessions", + "delete:sessions", + "read:refresh_tokens", + "delete:refresh_tokens", + "create:self_service_profiles", + "read:self_service_profiles", + "update:self_service_profiles", + "delete:self_service_profiles", + "create:sso_access_tickets", + "delete:sso_access_tickets", + "read:forms", + "update:forms", + "delete:forms", + "create:forms", + "read:flows", + "update:flows", + "delete:flows", + "create:flows", + "read:flows_vault", + "read:flows_vault_connections", + "update:flows_vault_connections", + "delete:flows_vault_connections", + "create:flows_vault_connections", + "read:flows_executions", + "delete:flows_executions", + "read:connections_options", + "update:connections_options", + "read:self_service_profile_custom_texts", + "update:self_service_profile_custom_texts", + "create:network_acls", + "update:network_acls", + "read:network_acls", + "delete:network_acls", + "delete:vdcs_templates", + "read:vdcs_templates", + "create:vdcs_templates", + "update:vdcs_templates", + "create:custom_signing_keys", + "read:custom_signing_keys", + "update:custom_signing_keys", + "delete:custom_signing_keys", + "read:federated_connections_tokens", + "delete:federated_connections_tokens", + "create:user_attribute_profiles", + "read:user_attribute_profiles", + "update:user_attribute_profiles", + "delete:user_attribute_profiles", + "read:event_streams", + "create:event_streams", + "delete:event_streams", + "update:event_streams", + "read:event_deliveries", + "update:event_deliveries", + "create:connection_profiles", + "read:connection_profiles", + "update:connection_profiles", + "delete:connection_profiles", + "read:organization_client_grants", + "create:organization_client_grants", + "delete:organization_client_grants", + "read:security_metrics", + "read:connections_keys", + "update:connections_keys", + "create:connections_keys" ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true + "subject_type": "client" } ] }, @@ -9181,7 +8466,23 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/organizations/org_VF8F48N4jwlx9iqb", + "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf", + "body": { + "display_name": "Organization2" + }, + "status": 200, + "response": { + "id": "org_JrXRxTbTrRdicEcf", + "display_name": "Organization2", + "name": "org2" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL", "body": { "branding": { "colors": { @@ -9199,29 +8500,13 @@ "primary": "#57ddff" } }, - "id": "org_VF8F48N4jwlx9iqb", + "id": "org_PCcwQ9qOcuJfWkEL", "display_name": "Organization", "name": "org1" }, "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/organizations/org_9YMsat8TwkngWftp", - "body": { - "display_name": "Organization2" - }, - "status": 200, - "response": { - "id": "org_9YMsat8TwkngWftp", - "display_name": "Organization2", - "name": "org2" - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -9230,7 +8515,7 @@ "status": 200, "response": [ { - "id": "lst_0000000000024850", + "id": "lst_0000000000025177", "name": "Suspended DD Log Stream", "type": "datadog", "status": "active", @@ -9241,14 +8526,14 @@ "isPriority": false }, { - "id": "lst_0000000000024851", + "id": "lst_0000000000025178", "name": "Amazon EventBridge", "type": "eventbridge", "status": "active", "sink": { "awsAccountId": "123456789012", "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-64398cc2-e658-4da6-af38-c7874b6b043d/auth0.logs" + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-c1366744-b33c-4125-b8c0-625b40865581/auth0.logs" }, "filters": [ { @@ -9297,7 +8582,33 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/log-streams/lst_0000000000024851", + "path": "/api/v2/log-streams/lst_0000000000025177", + "body": { + "name": "Suspended DD Log Stream", + "sink": { + "datadogApiKey": "some-sensitive-api-key", + "datadogRegion": "us" + } + }, + "status": 200, + "response": { + "id": "lst_0000000000025177", + "name": "Suspended DD Log Stream", + "type": "datadog", + "status": "active", + "sink": { + "datadogApiKey": "some-sensitive-api-key", + "datadogRegion": "us" + }, + "isPriority": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/log-streams/lst_0000000000025178", "body": { "name": "Amazon EventBridge", "filters": [ @@ -9342,14 +8653,14 @@ }, "status": 200, "response": { - "id": "lst_0000000000024851", + "id": "lst_0000000000025178", "name": "Amazon EventBridge", "type": "eventbridge", "status": "active", "sink": { "awsAccountId": "123456789012", "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-64398cc2-e658-4da6-af38-c7874b6b043d/auth0.logs" + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-c1366744-b33c-4125-b8c0-625b40865581/auth0.logs" }, "filters": [ { @@ -9394,32 +8705,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/log-streams/lst_0000000000024850", - "body": { - "name": "Suspended DD Log Stream", - "sink": { - "datadogApiKey": "some-sensitive-api-key", - "datadogRegion": "us" - } - }, - "status": 200, - "response": { - "id": "lst_0000000000024850", - "name": "Suspended DD Log Stream", - "type": "datadog", - "status": "active", - "sink": { - "datadogApiKey": "some-sensitive-api-key", - "datadogRegion": "us" - }, - "isPriority": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -9438,14 +8723,22 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, - "total": 0, - "flows": [] + "total": 1, + "forms": [ + { + "id": "ap_6JUSCU7qq1CravnoU6d6jr", + "name": "Blank-form", + "flow_count": 0, + "created_at": "2024-11-26T11:58:18.187Z", + "updated_at": "2025-11-18T04:42:29.394Z" + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -9453,22 +8746,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, - "total": 1, - "forms": [ - { - "id": "ap_6JUSCU7qq1CravnoU6d6jr", - "name": "Blank-form", - "flow_count": 0, - "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-10-31T14:57:47.048Z" - } - ] + "total": 0, + "flows": [] }, "rawHeaders": [], "responseIsBinary": false @@ -9537,7 +8822,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-10-31T14:57:47.048Z" + "updated_at": "2025-11-18T04:42:29.394Z" }, "rawHeaders": [], "responseIsBinary": false @@ -9662,7 +8947,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-10-31T14:59:33.074Z" + "updated_at": "2025-11-18T04:58:06.490Z" }, "rawHeaders": [], "responseIsBinary": false @@ -9762,6 +9047,7 @@ }, "identifier_first": true }, + "resource_parameter_profile": "audience", "session_cookie": { "mode": "non-persistent" } @@ -10848,9 +10134,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "API Explorer Application", "allowed_clients": [], "callbacks": [], @@ -10884,7 +10167,7 @@ "subject": "deprecated" } ], - "client_id": "eZwzdXan9x27088CTPhLeCSqJK5Qsb5w", + "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10904,9 +10187,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Node App", "allowed_clients": [], "allowed_logout_urls": [], @@ -10942,7 +10222,7 @@ } ], "allowed_origins": [], - "client_id": "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", + "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10966,9 +10246,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Quickstarts API (Test Application)", "client_metadata": { "foo": "bar" @@ -10994,7 +10271,7 @@ "subject": "deprecated" } ], - "client_id": "KBmsLova1QU1cLpNZ5Wst9NexolH66zz", + "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11013,9 +10290,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Terraform Provider", "cross_origin_auth": false, "is_first_party": true, @@ -11038,7 +10312,7 @@ "subject": "deprecated" } ], - "client_id": "GjnPFoLI9mBsl7zVfF1YcuicqzXFGsfP", + "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11057,12 +10331,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -11074,17 +10350,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -11094,7 +10369,7 @@ "subject": "deprecated" } ], - "client_id": "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", + "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11103,12 +10378,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -11116,17 +10394,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -11138,16 +10408,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -11157,7 +10428,7 @@ "subject": "deprecated" } ], - "client_id": "jm6MlJhDC7xIgKBYePEAsFjMtlJ1ScDE", + "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11166,15 +10437,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -11182,9 +10450,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], @@ -11218,7 +10483,7 @@ "subject": "deprecated" } ], - "client_id": "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI", + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11242,7 +10507,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/eZwzdXan9x27088CTPhLeCSqJK5Qsb5w", + "path": "/api/v2/clients/fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", "body": "", "status": 204, "response": "", @@ -11252,7 +10517,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/KBmsLova1QU1cLpNZ5Wst9NexolH66zz", + "path": "/api/v2/clients/Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", "body": "", "status": 204, "response": "", @@ -11262,7 +10527,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/SrN1EUDvsQo826qtaOqWlxMRN5y08alc", + "path": "/api/v2/clients/PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", "body": "", "status": 204, "response": "", @@ -11272,7 +10537,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/GjnPFoLI9mBsl7zVfF1YcuicqzXFGsfP", + "path": "/api/v2/clients/17S8meqm0ImjMHCjjYwDbwrHOkApC382", "body": "", "status": 204, "response": "", @@ -11282,7 +10547,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/jm6MlJhDC7xIgKBYePEAsFjMtlJ1ScDE", + "path": "/api/v2/clients/HIzKdREbF957j3VNApECeIV6pViYy8q6", "body": "", "status": 204, "response": "", @@ -11292,7 +10557,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", + "path": "/api/v2/clients/1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", "body": "", "status": 204, "response": "", @@ -11302,7 +10567,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/grQveAtB9mtIO6h9E1dujGHwHDBjVsiI", + "path": "/api/v2/clients/hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", "body": "", "status": 204, "response": "", @@ -11348,9 +10613,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Default App", "callbacks": [], "cross_origin_auth": false, @@ -11376,7 +10638,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11398,7 +10660,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/duo", + "path": "/api/v2/guardian/factors/otp", "body": { "enabled": false }, @@ -11426,7 +10688,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/otp", + "path": "/api/v2/guardian/factors/duo", "body": { "enabled": false }, @@ -11440,7 +10702,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/push-notification", + "path": "/api/v2/guardian/factors/recovery-code", "body": { "enabled": false }, @@ -11454,7 +10716,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-platform", + "path": "/api/v2/guardian/factors/push-notification", "body": { "enabled": false }, @@ -11468,7 +10730,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/recovery-code", + "path": "/api/v2/guardian/factors/sms", "body": { "enabled": false }, @@ -11482,7 +10744,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/webauthn-roaming", "body": { "enabled": false }, @@ -11496,7 +10758,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", + "path": "/api/v2/guardian/factors/webauthn-platform", "body": { "enabled": false }, @@ -11569,7 +10831,7 @@ "response": { "actions": [ { - "id": "0ba50458-8f40-4350-a690-484c530cb5c5", + "id": "ada80236-a38c-477e-8607-57fb51c714f6", "name": "My Custom Action", "supported_triggers": [ { @@ -11577,34 +10839,34 @@ "version": "v2" } ], - "created_at": "2025-10-31T14:57:22.321709927Z", - "updated_at": "2025-10-31T14:59:07.483963816Z", + "created_at": "2025-11-18T04:42:09.263480298Z", + "updated_at": "2025-11-18T04:57:38.118595715Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "built", "secrets": [], "current_version": { - "id": "da63abed-397d-4157-bc09-05e87df4847e", + "id": "885be92c-2489-4396-afac-4874030555f6", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node18", "status": "BUILT", - "number": 2, - "build_time": "2025-10-31T14:59:08.420698946Z", - "created_at": "2025-10-31T14:59:08.333737462Z", - "updated_at": "2025-10-31T14:59:08.422043955Z" + "number": 6, + "build_time": "2025-11-18T04:57:38.957786004Z", + "created_at": "2025-11-18T04:57:38.852930623Z", + "updated_at": "2025-11-18T04:57:38.959853345Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "da63abed-397d-4157-bc09-05e87df4847e", + "id": "885be92c-2489-4396-afac-4874030555f6", "deployed": true, - "number": 2, - "built_at": "2025-10-31T14:59:08.420698946Z", + "number": 6, + "built_at": "2025-11-18T04:57:38.957786004Z", "secrets": [], "status": "built", - "created_at": "2025-10-31T14:59:08.333737462Z", - "updated_at": "2025-10-31T14:59:08.422043955Z", + "created_at": "2025-11-18T04:57:38.852930623Z", + "updated_at": "2025-11-18T04:57:38.959853345Z", "runtime": "node18", "supported_triggers": [ { @@ -11625,7 +10887,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/actions/actions/0ba50458-8f40-4350-a690-484c530cb5c5?force=true", + "path": "/api/v2/actions/actions/ada80236-a38c-477e-8607-57fb51c714f6?force=true", "body": "", "status": 204, "response": "", @@ -11645,34 +10907,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/brute-force-protection", - "body": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 10 - }, - "status": 200, - "response": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 10 - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -11717,6 +10951,34 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/brute-force-protection", + "body": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 10 + }, + "status": 200, + "response": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 10 + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -11815,9 +11077,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Default App", "callbacks": [], "cross_origin_auth": false, @@ -11833,140 +11092,66 @@ "rotation_type": "non-rotating" }, "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], - "is_first_party": true, - "name": "All Applications", - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?include_totals=true&strategy=auth0", - "body": "", - "status": 200, - "response": { - "total": 1, - "start": 0, - "limit": 50, - "connections": [ - { - "id": "con_ztvlJaf7zhCaAC7v", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false }, - "strategy": "auth0", - "name": "boo-baz-db-connection-test", - "is_domain_connection": false, - "realms": [ - "boo-baz-db-connection-test" + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" ], - "enabled_clients": [] + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": true, + "callbacks": [], + "is_first_party": true, + "name": "All Applications", + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" + ], + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true } ] }, @@ -11976,13 +11161,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50&strategy=auth0", + "path": "/api/v2/connections?take=50&strategy=auth0", "body": "", "status": 200, "response": { "connections": [ { - "id": "con_ztvlJaf7zhCaAC7v", + "id": "con_gSK3HKh000WR2Yg5", "options": { "mfa": { "active": true, @@ -12047,16 +11232,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&strategy=auth0", + "path": "/api/v2/connections?take=50&strategy=auth0", "body": "", "status": 200, "response": { - "total": 1, - "start": 0, - "limit": 50, "connections": [ { - "id": "con_ztvlJaf7zhCaAC7v", + "id": "con_gSK3HKh000WR2Yg5", "options": { "mfa": { "active": true, @@ -12121,70 +11303,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50&strategy=auth0", + "path": "/api/v2/connections/con_gSK3HKh000WR2Yg5/clients?take=50", "body": "", "status": 200, "response": { - "connections": [ - { - "id": "con_ztvlJaf7zhCaAC7v", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true - }, - "strategy": "auth0", - "name": "boo-baz-db-connection-test", - "is_domain_connection": false, - "realms": [ - "boo-baz-db-connection-test" - ], - "enabled_clients": [] - } - ] + "clients": [] }, "rawHeaders": [], "responseIsBinary": false @@ -12192,7 +11315,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_ztvlJaf7zhCaAC7v/clients?take=50", + "path": "/api/v2/connections/con_gSK3HKh000WR2Yg5/clients?take=50", "body": "", "status": 200, "response": { @@ -12204,11 +11327,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/connections/con_ztvlJaf7zhCaAC7v", + "path": "/api/v2/connections/con_gSK3HKh000WR2Yg5", "body": "", "status": 202, "response": { - "deleted_at": "2025-10-31T14:59:46.460Z" + "deleted_at": "2025-11-18T04:58:22.501Z" }, "rawHeaders": [], "responseIsBinary": false @@ -12222,7 +11345,7 @@ "strategy": "auth0", "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy" ], "is_domain_connection": false, "options": { @@ -12240,7 +11363,7 @@ }, "status": 201, "response": { - "id": "con_YQIQ8h72LqqSXD75", + "id": "con_3yHvIURwH6gXdMEE", "options": { "mfa": { "active": true, @@ -12267,8 +11390,8 @@ "name": "Username-Password-Authentication", "is_domain_connection": false, "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ], "realms": [ "Username-Password-Authentication" @@ -12280,13 +11403,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=1&name=Username-Password-Authentication", + "path": "/api/v2/connections?take=1&name=Username-Password-Authentication&include_fields=true", "body": "", "status": 200, "response": { "connections": [ { - "id": "con_YQIQ8h72LqqSXD75", + "id": "con_3yHvIURwH6gXdMEE", "options": { "mfa": { "active": true, @@ -12316,8 +11439,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -12328,14 +11451,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75/clients", + "path": "/api/v2/connections/con_3yHvIURwH6gXdMEE/clients", "body": [ { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "status": true }, { - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy", "status": true } ], @@ -12414,9 +11537,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Default App", "callbacks": [], "cross_origin_auth": false, @@ -12440,7 +11560,7 @@ "subject": "deprecated" } ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12487,146 +11607,11 @@ "cert": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "deprecated" - } - ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?include_totals=true", - "body": "", - "status": 200, - "response": { - "total": 2, - "start": 0, - "limit": 50, - "connections": [ - { - "id": "con_6tyEu2hOP8JuHJku", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "realms": [ - "google-oauth2" - ], - "enabled_clients": [] - }, - { - "id": "con_YQIQ8h72LqqSXD75", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50", - "body": "", - "status": 200, - "response": { - "connections": [ - { - "id": "con_6tyEu2hOP8JuHJku", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "realms": [ - "google-oauth2" - ], - "enabled_clients": [] - }, - { - "id": "con_YQIQ8h72LqqSXD75", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" + } ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" - ] + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true } ] }, @@ -12636,16 +11621,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true", + "path": "/api/v2/connections?take=50", "body": "", "status": 200, "response": { - "total": 2, - "start": 0, - "limit": 50, "connections": [ { - "id": "con_6tyEu2hOP8JuHJku", + "id": "con_TZft9UmXrtdJXHZN", "options": { "email": true, "scope": [ @@ -12663,7 +11645,7 @@ "enabled_clients": [] }, { - "id": "con_YQIQ8h72LqqSXD75", + "id": "con_3yHvIURwH6gXdMEE", "options": { "mfa": { "active": true, @@ -12693,8 +11675,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -12705,13 +11687,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50", + "path": "/api/v2/connections?take=50", "body": "", "status": 200, "response": { "connections": [ { - "id": "con_6tyEu2hOP8JuHJku", + "id": "con_TZft9UmXrtdJXHZN", "options": { "email": true, "scope": [ @@ -12729,7 +11711,7 @@ "enabled_clients": [] }, { - "id": "con_YQIQ8h72LqqSXD75", + "id": "con_3yHvIURwH6gXdMEE", "options": { "mfa": { "active": true, @@ -12759,8 +11741,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -12771,7 +11753,19 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_6tyEu2hOP8JuHJku/clients?take=50", + "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN/clients?take=50", + "body": "", + "status": 200, + "response": { + "clients": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN/clients?take=50", "body": "", "status": 200, "response": { @@ -12783,11 +11777,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/connections/con_6tyEu2hOP8JuHJku", + "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN", "body": "", "status": 202, "response": { - "deleted_at": "2025-10-31T14:59:52.888Z" + "deleted_at": "2025-11-18T04:58:28.563Z" }, "rawHeaders": [], "responseIsBinary": false @@ -12896,9 +11890,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Default App", "callbacks": [], "cross_origin_auth": false, @@ -12922,7 +11913,7 @@ "subject": "deprecated" } ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12983,13 +11974,10 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/client-grants?per_page=100&page=0&include_totals=true", + "path": "/api/v2/client-grants?take=50", "body": "", "status": 200, "response": { - "total": 1, - "start": 0, - "limit": 100, "client_grants": [ { "id": "cgr_pbwejzhwoujrsNE8", @@ -13240,22 +12228,22 @@ "response": { "roles": [ { - "id": "rol_4BDf23iFJRSAfWkE", + "id": "rol_QuDH6eKysxE8ilL9", "name": "Admin", "description": "Can read and write things" }, { - "id": "rol_81RrNH8R5oCDnBUG", + "id": "rol_3OJzKOu3TsUKCvFO", "name": "Reader", "description": "Can only read things" }, { - "id": "rol_v44pj0PGL7Gq9FQC", + "id": "rol_dqwrzyi9Bx9QmZ3E", "name": "read_only", "description": "Read Only" }, { - "id": "rol_CyaPmtQRfUFB7rxL", + "id": "rol_tcKxqeYyc6Eqp7Jb", "name": "read_osnly", "description": "Readz Only" } @@ -13270,7 +12258,67 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_4BDf23iFJRSAfWkE/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_QuDH6eKysxE8ilL9/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_QuDH6eKysxE8ilL9/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_3OJzKOu3TsUKCvFO/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_3OJzKOu3TsUKCvFO/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_dqwrzyi9Bx9QmZ3E/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -13285,7 +12333,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_81RrNH8R5oCDnBUG/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_dqwrzyi9Bx9QmZ3E/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -13300,7 +12348,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_v44pj0PGL7Gq9FQC/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_tcKxqeYyc6Eqp7Jb/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -13315,7 +12363,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_CyaPmtQRfUFB7rxL/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_tcKxqeYyc6Eqp7Jb/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -13330,7 +12378,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/roles/rol_4BDf23iFJRSAfWkE", + "path": "/api/v2/roles/rol_QuDH6eKysxE8ilL9", "body": "", "status": 200, "response": {}, @@ -13340,7 +12388,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/roles/rol_v44pj0PGL7Gq9FQC", + "path": "/api/v2/roles/rol_dqwrzyi9Bx9QmZ3E", "body": "", "status": 200, "response": {}, @@ -13350,7 +12398,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/roles/rol_81RrNH8R5oCDnBUG", + "path": "/api/v2/roles/rol_3OJzKOu3TsUKCvFO", "body": "", "status": 200, "response": {}, @@ -13360,7 +12408,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/roles/rol_CyaPmtQRfUFB7rxL", + "path": "/api/v2/roles/rol_tcKxqeYyc6Eqp7Jb", "body": "", "status": 200, "response": {}, @@ -13370,13 +12418,18 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations?include_totals=true", + "path": "/api/v2/organizations?take=50", "body": "", "status": 200, "response": { "organizations": [ { - "id": "org_VF8F48N4jwlx9iqb", + "id": "org_JrXRxTbTrRdicEcf", + "name": "org2", + "display_name": "Organization2" + }, + { + "id": "org_PCcwQ9qOcuJfWkEL", "name": "org1", "display_name": "Organization", "branding": { @@ -13385,16 +12438,8 @@ "primary": "#57ddff" } } - }, - { - "id": "org_9YMsat8TwkngWftp", - "name": "org2", - "display_name": "Organization2" } - ], - "start": 0, - "limit": 50, - "total": 2 + ] }, "rawHeaders": [], "responseIsBinary": false @@ -13469,9 +12514,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Default App", "callbacks": [], "cross_origin_auth": false, @@ -13495,7 +12537,7 @@ "subject": "deprecated" } ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13556,52 +12598,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations?include_totals=true&take=50", - "body": "", - "status": 200, - "response": { - "organizations": [ - { - "id": "org_VF8F48N4jwlx9iqb", - "name": "org1", - "display_name": "Organization", - "branding": { - "colors": { - "page_background": "#fff5f5", - "primary": "#57ddff" - } - } - }, - { - "id": "org_9YMsat8TwkngWftp", - "name": "org2", - "display_name": "Organization2" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_VF8F48N4jwlx9iqb/enabled_connections", - "body": "", - "status": 200, - "response": [], - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_VF8F48N4jwlx9iqb/client-grants?page=0&per_page=100&include_totals=true", + "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "client_grants": [], + "enabled_connections": [], "start": 0, - "limit": 100, + "limit": 0, "total": 0 }, "rawHeaders": [], @@ -13610,35 +12613,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_VF8F48N4jwlx9iqb/discovery-domains?take=50", - "body": "", - "status": 200, - "response": { - "domains": [] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_9YMsat8TwkngWftp/enabled_connections", - "body": "", - "status": 200, - "response": [], - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_9YMsat8TwkngWftp/client-grants?page=0&per_page=100&include_totals=true", + "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "client_grants": [], + "enabled_connections": [], "start": 0, - "limit": 100, + "limit": 0, "total": 0 }, "rawHeaders": [], @@ -13647,359 +12628,183 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_9YMsat8TwkngWftp/discovery-domains?take=50", - "body": "", - "status": 200, - "response": { - "domains": [] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?include_totals=true", - "body": "", - "status": 200, - "response": { - "total": 1, - "start": 0, - "limit": 50, - "connections": [ - { - "id": "con_YQIQ8h72LqqSXD75", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50", - "body": "", - "status": 200, - "response": { - "connections": [ - { - "id": "con_YQIQ8h72LqqSXD75", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/client-grants?per_page=100&page=0&include_totals=true", + "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "total": 1, + "client_grants": [], "start": 0, - "limit": 100, - "client_grants": [ - { - "id": "cgr_pbwejzhwoujrsNE8", - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:client_credentials", - "update:client_credentials", - "delete:client_credentials", - "create:client_credentials", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations_summary", - "create:authentication_methods", - "read:authentication_methods", - "update:authentication_methods", - "delete:authentication_methods", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "read:organization_discovery_domains", - "update:organization_discovery_domains", - "create:organization_discovery_domains", - "delete:organization_discovery_domains", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations", - "read:scim_config", - "create:scim_config", - "update:scim_config", - "delete:scim_config", - "create:scim_token", - "read:scim_token", - "delete:scim_token", - "delete:phone_providers", - "create:phone_providers", - "read:phone_providers", - "update:phone_providers", - "delete:phone_templates", - "create:phone_templates", - "read:phone_templates", - "update:phone_templates", - "create:encryption_keys", - "read:encryption_keys", - "update:encryption_keys", - "delete:encryption_keys", - "read:sessions", - "update:sessions", - "delete:sessions", - "read:refresh_tokens", - "delete:refresh_tokens", - "create:self_service_profiles", - "read:self_service_profiles", - "update:self_service_profiles", - "delete:self_service_profiles", - "create:sso_access_tickets", - "delete:sso_access_tickets", - "read:forms", - "update:forms", - "delete:forms", - "create:forms", - "read:flows", - "update:flows", - "delete:flows", - "create:flows", - "read:flows_vault", - "read:flows_vault_connections", - "update:flows_vault_connections", - "delete:flows_vault_connections", - "create:flows_vault_connections", - "read:flows_executions", - "delete:flows_executions", - "read:connections_options", - "update:connections_options", - "read:self_service_profile_custom_texts", - "update:self_service_profile_custom_texts", - "create:network_acls", - "update:network_acls", - "read:network_acls", - "delete:network_acls", - "delete:vdcs_templates", - "read:vdcs_templates", - "create:vdcs_templates", - "update:vdcs_templates", - "create:custom_signing_keys", - "read:custom_signing_keys", - "update:custom_signing_keys", - "delete:custom_signing_keys", - "read:federated_connections_tokens", - "delete:federated_connections_tokens", - "create:user_attribute_profiles", - "read:user_attribute_profiles", - "update:user_attribute_profiles", - "delete:user_attribute_profiles", - "read:event_streams", - "create:event_streams", - "delete:event_streams", - "update:event_streams", - "read:event_deliveries", - "update:event_deliveries", - "create:connection_profiles", - "read:connection_profiles", - "update:connection_profiles", - "delete:connection_profiles", - "read:organization_client_grants", - "create:organization_client_grants", - "delete:organization_client_grants", - "read:security_metrics", - "read:connections_keys", - "update:connections_keys", - "create:connections_keys" + "limit": 50, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/client-grants?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "client_grants": [], + "start": 0, + "limit": 50, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/discovery-domains?take=50", + "body": "", + "status": 200, + "response": { + "domains": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/discovery-domains?take=50", + "body": "", + "status": 200, + "response": { + "domains": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/enabled_connections?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "enabled_connections": [], + "start": 0, + "limit": 0, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/enabled_connections?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "enabled_connections": [], + "start": 0, + "limit": 0, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/client-grants?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "client_grants": [], + "start": 0, + "limit": 50, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/client-grants?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "client_grants": [], + "start": 0, + "limit": 50, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/discovery-domains?take=50", + "body": "", + "status": 200, + "response": { + "domains": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/discovery-domains?take=50", + "body": "", + "status": 200, + "response": { + "domains": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections?take=50", + "body": "", + "status": 200, + "response": { + "connections": [ + { + "id": "con_3yHvIURwH6gXdMEE", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, + "brute_force_protection": true + }, + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "realms": [ + "Username-Password-Authentication" ], - "subject_type": "client" + "enabled_clients": [ + "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + ] } ] }, @@ -14076,9 +12881,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Default App", "callbacks": [], "cross_origin_auth": false, @@ -14102,7 +12904,7 @@ "subject": "deprecated" } ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14151,9 +12953,257 @@ "subject": "deprecated" } ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/client-grants?take=50", + "body": "", + "status": 200, + "response": { + "client_grants": [ + { + "id": "cgr_pbwejzhwoujrsNE8", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:client_credentials", + "update:client_credentials", + "delete:client_credentials", + "create:client_credentials", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations_summary", + "create:authentication_methods", + "read:authentication_methods", + "update:authentication_methods", + "delete:authentication_methods", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "read:organization_discovery_domains", + "update:organization_discovery_domains", + "create:organization_discovery_domains", + "delete:organization_discovery_domains", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations", + "read:scim_config", + "create:scim_config", + "update:scim_config", + "delete:scim_config", + "create:scim_token", + "read:scim_token", + "delete:scim_token", + "delete:phone_providers", + "create:phone_providers", + "read:phone_providers", + "update:phone_providers", + "delete:phone_templates", + "create:phone_templates", + "read:phone_templates", + "update:phone_templates", + "create:encryption_keys", + "read:encryption_keys", + "update:encryption_keys", + "delete:encryption_keys", + "read:sessions", + "update:sessions", + "delete:sessions", + "read:refresh_tokens", + "delete:refresh_tokens", + "create:self_service_profiles", + "read:self_service_profiles", + "update:self_service_profiles", + "delete:self_service_profiles", + "create:sso_access_tickets", + "delete:sso_access_tickets", + "read:forms", + "update:forms", + "delete:forms", + "create:forms", + "read:flows", + "update:flows", + "delete:flows", + "create:flows", + "read:flows_vault", + "read:flows_vault_connections", + "update:flows_vault_connections", + "delete:flows_vault_connections", + "create:flows_vault_connections", + "read:flows_executions", + "delete:flows_executions", + "read:connections_options", + "update:connections_options", + "read:self_service_profile_custom_texts", + "update:self_service_profile_custom_texts", + "create:network_acls", + "update:network_acls", + "read:network_acls", + "delete:network_acls", + "delete:vdcs_templates", + "read:vdcs_templates", + "create:vdcs_templates", + "update:vdcs_templates", + "create:custom_signing_keys", + "read:custom_signing_keys", + "update:custom_signing_keys", + "delete:custom_signing_keys", + "read:federated_connections_tokens", + "delete:federated_connections_tokens", + "create:user_attribute_profiles", + "read:user_attribute_profiles", + "update:user_attribute_profiles", + "delete:user_attribute_profiles", + "read:event_streams", + "create:event_streams", + "delete:event_streams", + "update:event_streams", + "read:event_deliveries", + "update:event_deliveries", + "create:connection_profiles", + "read:connection_profiles", + "update:connection_profiles", + "delete:connection_profiles", + "read:organization_client_grants", + "create:organization_client_grants", + "delete:organization_client_grants", + "read:security_metrics", + "read:connections_keys", + "update:connections_keys", + "create:connections_keys" + ], + "subject_type": "client" } ] }, @@ -14163,7 +13213,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/organizations/org_VF8F48N4jwlx9iqb", + "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL", "body": "", "status": 204, "response": "", @@ -14173,7 +13223,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/organizations/org_9YMsat8TwkngWftp", + "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf", "body": "", "status": 204, "response": "", @@ -14188,7 +13238,7 @@ "status": 200, "response": [ { - "id": "lst_0000000000024850", + "id": "lst_0000000000025177", "name": "Suspended DD Log Stream", "type": "datadog", "status": "active", @@ -14199,14 +13249,14 @@ "isPriority": false }, { - "id": "lst_0000000000024851", + "id": "lst_0000000000025178", "name": "Amazon EventBridge", "type": "eventbridge", "status": "active", "sink": { "awsAccountId": "123456789012", "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-64398cc2-e658-4da6-af38-c7874b6b043d/auth0.logs" + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-c1366744-b33c-4125-b8c0-625b40865581/auth0.logs" }, "filters": [ { @@ -14255,7 +13305,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/log-streams/lst_0000000000024850", + "path": "/api/v2/log-streams/lst_0000000000025177", "body": "", "status": 204, "response": "", @@ -14265,7 +13315,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/log-streams/lst_0000000000024851", + "path": "/api/v2/log-streams/lst_0000000000025178", "body": "", "status": 204, "response": "", @@ -14342,6 +13392,7 @@ }, "identifier_first": true }, + "resource_parameter_profile": "audience", "session_cookie": { "mode": "non-persistent" } @@ -14501,6 +13552,7 @@ "page_background": "#222221" } }, + "resource_parameter_profile": "audience", "session_cookie": { "mode": "non-persistent" }, @@ -15532,9 +14584,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Default App", "callbacks": [], "cross_origin_auth": false, @@ -15558,7 +14607,7 @@ "subject": "deprecated" } ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -15582,64 +14631,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&strategy=auth0", - "body": "", - "status": 200, - "response": { - "total": 1, - "start": 0, - "limit": 50, - "connections": [ - { - "id": "con_YQIQ8h72LqqSXD75", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50&strategy=auth0", + "path": "/api/v2/connections?take=50&strategy=auth0", "body": "", "status": 200, "response": { "connections": [ { - "id": "con_YQIQ8h72LqqSXD75", + "id": "con_3yHvIURwH6gXdMEE", "options": { "mfa": { "active": true, @@ -15669,8 +14667,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -15681,16 +14679,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75/clients?take=50", + "path": "/api/v2/connections/con_3yHvIURwH6gXdMEE/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "client_id": "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy" }, { - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" } ] }, @@ -15700,48 +14698,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true", + "path": "/api/v2/connections/con_3yHvIURwH6gXdMEE/clients?take=50", "body": "", "status": 200, "response": { - "total": 1, - "start": 0, - "limit": 50, - "connections": [ + "clients": [ { - "id": "con_YQIQ8h72LqqSXD75", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" - ] + "client_id": "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy" + }, + { + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" } ] }, @@ -15751,13 +14717,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50", + "path": "/api/v2/connections?take=50", "body": "", "status": 200, "response": { "connections": [ { - "id": "con_YQIQ8h72LqqSXD75", + "id": "con_3yHvIURwH6gXdMEE", "options": { "mfa": { "active": true, @@ -15787,8 +14753,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -15855,6 +14821,7 @@ "page_background": "#222221" } }, + "resource_parameter_profile": "audience", "session_cookie": { "mode": "non-persistent" }, @@ -15903,22 +14870,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/blocked_account", - "body": "", - "status": 404, - "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/email-templates/reset_email", + "path": "/api/v2/email-templates/verify_email_by_code", "body": "", "status": 404, "response": { @@ -15933,7 +14885,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email_by_code", + "path": "/api/v2/email-templates/enrollment_email", "body": "", "status": 404, "response": { @@ -15948,7 +14900,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/stolen_credentials", + "path": "/api/v2/email-templates/change_password", "body": "", "status": 404, "response": { @@ -15963,18 +14915,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/welcome_email", - "body": "", - "status": 200, - "response": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false + "path": "/api/v2/email-templates/reset_email", + "body": "", + "status": 404, + "response": { + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" }, "rawHeaders": [], "responseIsBinary": false @@ -15982,7 +14930,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/password_reset", + "path": "/api/v2/email-templates/reset_email_by_code", "body": "", "status": 404, "response": { @@ -15997,7 +14945,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/async_approval", + "path": "/api/v2/email-templates/stolen_credentials", "body": "", "status": 404, "response": { @@ -16012,7 +14960,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/change_password", + "path": "/api/v2/email-templates/password_reset", "body": "", "status": 404, "response": { @@ -16027,7 +14975,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/mfa_oob_code", + "path": "/api/v2/email-templates/blocked_account", "body": "", "status": 404, "response": { @@ -16057,7 +15005,26 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/enrollment_email", + "path": "/api/v2/email-templates/welcome_email", + "body": "", + "status": 200, + "response": { + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "from": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", + "syntax": "liquid", + "urlLifetimeInSeconds": 3600, + "enabled": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/email-templates/mfa_oob_code", "body": "", "status": 404, "response": { @@ -16072,7 +15039,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/verify_email_by_code", + "path": "/api/v2/email-templates/async_approval", "body": "", "status": 404, "response": { @@ -16087,13 +15054,10 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/client-grants?per_page=100&page=0&include_totals=true", + "path": "/api/v2/client-grants?take=50", "body": "", "status": 200, "response": { - "total": 1, - "start": 0, - "limit": 100, "client_grants": [ { "id": "cgr_pbwejzhwoujrsNE8", @@ -16578,6 +15542,7 @@ "page_background": "#222221" } }, + "resource_parameter_profile": "audience", "session_cookie": { "mode": "non-persistent" }, @@ -16603,7 +15568,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login/custom-text/en", + "path": "/api/v2/prompts/login-password/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16613,7 +15578,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-password/custom-text/en", + "path": "/api/v2/prompts/login/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16623,7 +15588,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-passwordless/custom-text/en", + "path": "/api/v2/prompts/signup/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16633,7 +15598,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-email-verification/custom-text/en", + "path": "/api/v2/prompts/login-passwordless/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16643,7 +15608,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup/custom-text/en", + "path": "/api/v2/prompts/login-email-verification/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16653,7 +15618,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup-id/custom-text/en", + "path": "/api/v2/prompts/signup-password/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16663,7 +15628,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup-password/custom-text/en", + "path": "/api/v2/prompts/signup-id/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16673,7 +15638,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/phone-identifier-challenge/custom-text/en", + "path": "/api/v2/prompts/phone-identifier-enrollment/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16683,7 +15648,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/phone-identifier-enrollment/custom-text/en", + "path": "/api/v2/prompts/phone-identifier-challenge/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16753,7 +15718,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-otp/custom-text/en", + "path": "/api/v2/prompts/mfa-push/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16763,7 +15728,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-push/custom-text/en", + "path": "/api/v2/prompts/mfa-otp/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16793,7 +15758,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-phone/custom-text/en", + "path": "/api/v2/prompts/mfa-sms/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16803,7 +15768,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-sms/custom-text/en", + "path": "/api/v2/prompts/mfa-email/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16813,7 +15778,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-email/custom-text/en", + "path": "/api/v2/prompts/mfa-recovery-code/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16823,7 +15788,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-recovery-code/custom-text/en", + "path": "/api/v2/prompts/mfa/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16833,7 +15798,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa/custom-text/en", + "path": "/api/v2/prompts/status/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16843,7 +15808,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/status/custom-text/en", + "path": "/api/v2/prompts/mfa-phone/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16883,7 +15848,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/organizations/custom-text/en", + "path": "/api/v2/prompts/invitation/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16893,7 +15858,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/invitation/custom-text/en", + "path": "/api/v2/prompts/organizations/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16913,7 +15878,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/captcha/custom-text/en", + "path": "/api/v2/prompts/passkeys/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16923,7 +15888,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/passkeys/custom-text/en", + "path": "/api/v2/prompts/captcha/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16933,7 +15898,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login/partials", + "path": "/api/v2/prompts/login-id/partials", "body": "", "status": 200, "response": {}, @@ -16943,7 +15908,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-password/partials", + "path": "/api/v2/prompts/login/partials", "body": "", "status": 200, "response": {}, @@ -16953,7 +15918,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/partials", + "path": "/api/v2/prompts/login-password/partials", "body": "", "status": 200, "response": {}, @@ -16963,7 +15928,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup/partials", + "path": "/api/v2/prompts/login-passwordless/partials", "body": "", "status": 200, "response": {}, @@ -16983,7 +15948,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup-password/partials", + "path": "/api/v2/prompts/signup/partials", "body": "", "status": 200, "response": {}, @@ -16993,7 +15958,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-passwordless/partials", + "path": "/api/v2/prompts/signup-password/partials", "body": "", "status": 200, "response": {}, @@ -17068,7 +16033,6 @@ "version": "v2", "status": "CURRENT", "runtimes": [ - "node12", "node18-actions", "node22" ], @@ -17076,6 +16040,17 @@ "binding_policy": "trigger-bound", "compatible_triggers": [] }, + { + "id": "post-user-registration", + "version": "v1", + "status": "DEPRECATED", + "runtimes": [ + "node12" + ], + "default_runtime": "node12", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, { "id": "post-user-registration", "version": "v2", @@ -17093,7 +16068,6 @@ "version": "v2", "status": "CURRENT", "runtimes": [ - "node12", "node18-actions", "node22" ], @@ -17203,12 +16177,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/post-login/bindings", + "path": "/api/v2/actions/triggers/post-login/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -17216,12 +16190,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/credentials-exchange/bindings", + "path": "/api/v2/actions/triggers/credentials-exchange/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -17229,12 +16203,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/pre-user-registration/bindings", + "path": "/api/v2/actions/triggers/pre-user-registration/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -17242,12 +16216,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/post-user-registration/bindings", + "path": "/api/v2/actions/triggers/post-user-registration/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -17255,12 +16229,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/post-change-password/bindings", + "path": "/api/v2/actions/triggers/post-change-password/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -17268,12 +16242,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/send-phone-message/bindings", + "path": "/api/v2/actions/triggers/send-phone-message/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -17281,12 +16255,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/password-reset-post-challenge/bindings", + "path": "/api/v2/actions/triggers/password-reset-post-challenge/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -17294,12 +16268,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/login-post-identifier/bindings", + "path": "/api/v2/actions/triggers/login-post-identifier/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -17307,12 +16281,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/custom-phone-provider/bindings", + "path": "/api/v2/actions/triggers/custom-phone-provider/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -17320,12 +16294,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/custom-email-provider/bindings", + "path": "/api/v2/actions/triggers/custom-email-provider/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -17333,12 +16307,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/custom-token-exchange/bindings", + "path": "/api/v2/actions/triggers/custom-token-exchange/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -17346,12 +16320,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/event-stream/bindings", + "path": "/api/v2/actions/triggers/event-stream/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -17359,14 +16333,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations?include_totals=true", + "path": "/api/v2/organizations?take=50", "body": "", "status": 200, "response": { - "organizations": [], - "start": 0, - "limit": 50, - "total": 0 + "organizations": [] }, "rawHeaders": [], "responseIsBinary": false @@ -17441,9 +16412,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Default App", "callbacks": [], "cross_origin_auth": false, @@ -17467,7 +16435,7 @@ "subject": "deprecated" } ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -17528,11 +16496,18 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations?include_totals=true&take=50", + "path": "/api/v2/attack-protection/brute-force-protection", "body": "", "status": 200, "response": { - "organizations": [] + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 10 }, "rawHeaders": [], "responseIsBinary": false @@ -17560,25 +16535,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/attack-protection/brute-force-protection", - "body": "", - "status": 200, - "response": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 10 - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -17609,17 +16565,59 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/log-streams", + "path": "/api/v2/attack-protection/bot-detection", "body": "", "status": 200, - "response": [], + "response": { + "challenge_password_policy": "never", + "challenge_passwordless_policy": "never", + "challenge_password_reset_policy": "never", + "allowlist": [], + "bot_detection_level": "medium", + "monitoring_mode_enabled": false + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/custom-domains", + "path": "/api/v2/attack-protection/captcha", + "body": "", + "status": 200, + "response": { + "active_provider_id": "auth_challenge", + "simple_captcha": {}, + "auth_challenge": { + "fail_open": false + }, + "recaptcha_v2": { + "site_key": "" + }, + "recaptcha_enterprise": { + "site_key": "", + "project_id": "" + }, + "hcaptcha": { + "site_key": "" + }, + "friendly_captcha": { + "site_key": "" + }, + "arkose": { + "site_key": "", + "client_subdomain": "client-api", + "verify_subdomain": "verify-api", + "fail_open": false + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/log-streams", "body": "", "status": 200, "response": [], @@ -17629,12 +16627,10 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/custom-domains?take=50", + "path": "/api/v2/custom-domains", "body": "", "status": 200, - "response": { - "custom_domains": [] - }, + "response": [], "rawHeaders": [], "responseIsBinary": false }, @@ -17684,7 +16680,7 @@ "name": "Blank-form", "flow_count": 0, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-10-31T14:59:33.074Z" + "updated_at": "2025-11-18T04:58:06.490Z" } ] }, @@ -17755,7 +16751,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-10-31T14:59:33.074Z" + "updated_at": "2025-11-18T04:58:06.490Z" }, "rawHeaders": [], "responseIsBinary": false @@ -17763,11 +16759,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows/vault/connections?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "limit": 100, + "limit": 50, "start": 0, "total": 0, "connections": [] @@ -17793,11 +16789,41 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows/vault/connections?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "limit": 100, + "limit": 50, + "start": 0, + "total": 0, + "connections": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "limit": 50, + "start": 0, + "total": 0, + "connections": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "limit": 50, "start": 0, "total": 0, "connections": [] @@ -17834,7 +16860,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-10-31T14:59:23.732Z", + "updated_at": "2025-11-18T04:57:54.740Z", "branding": { "colors": { "primary": "#19aecc" @@ -17886,7 +16912,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-10-31T14:59:09.594Z", + "updated_at": "2025-11-18T04:57:40.114Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] @@ -17948,60 +16974,5 @@ }, "rawHeaders": [], "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/user-attribute-profiles?take=50", - "body": "", - "status": 200, - "response": { - "user_attribute_profiles": [ - { - "id": "uap_1csDj3szFsgxGS1oTZTdFm", - "name": "test-user-attribute-profile-2", - "user_id": { - "oidc_mapping": "sub", - "saml_mapping": [ - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" - ], - "scim_mapping": "externalId" - }, - "user_attributes": { - "email": { - "label": "Email", - "description": "Email of the User", - "auth0_mapping": "email", - "profile_required": true - } - } - }, - { - "id": "uap_1csDj3sAVu6n5eTzLw6XZg", - "name": "test-user-attribute-profile", - "user_id": { - "oidc_mapping": "sub", - "saml_mapping": [ - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" - ], - "scim_mapping": "externalId" - }, - "user_attributes": { - "email": { - "label": "Email", - "description": "Email of the User", - "auth0_mapping": "email", - "profile_required": true - } - } - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false } ] \ No newline at end of file diff --git a/test/e2e/recordings/should-deploy-without-deleting-resources-if-AUTH0_ALLOW_DELETE-is-false.json b/test/e2e/recordings/should-deploy-without-deleting-resources-if-AUTH0_ALLOW_DELETE-is-false.json index 7fbafa9ff..868a6b633 100644 --- a/test/e2e/recordings/should-deploy-without-deleting-resources-if-AUTH0_ALLOW_DELETE-is-false.json +++ b/test/e2e/recordings/should-deploy-without-deleting-resources-if-AUTH0_ALLOW_DELETE-is-false.json @@ -237,6 +237,7 @@ }, "identifier_first": true }, + "resource_parameter_profile": "audience", "session_cookie": { "mode": "non-persistent" } @@ -1289,7 +1290,7 @@ "subject": "deprecated" } ], - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1359,9 +1360,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "API Explorer Application", "allowed_clients": [], "callbacks": [], @@ -1397,7 +1395,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "eZwzdXan9x27088CTPhLeCSqJK5Qsb5w", + "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1471,9 +1469,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Node App", "allowed_clients": [], "allowed_logout_urls": [], @@ -1511,7 +1506,7 @@ } ], "allowed_origins": [], - "client_id": "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", + "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1574,9 +1569,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Quickstarts API (Test Application)", "client_metadata": { "foo": "bar" @@ -1604,7 +1596,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "KBmsLova1QU1cLpNZ5Wst9NexolH66zz", + "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1659,9 +1651,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Terraform Provider", "cross_origin_auth": false, "is_first_party": true, @@ -1686,7 +1675,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "GjnPFoLI9mBsl7zVfF1YcuicqzXFGsfP", + "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1756,9 +1745,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "The Default App", "allowed_clients": [], "callbacks": [], @@ -1795,7 +1781,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", + "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1875,9 +1861,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Test SPA", "allowed_clients": [], "allowed_logout_urls": [ @@ -1918,7 +1901,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "jm6MlJhDC7xIgKBYePEAsFjMtlJ1ScDE", + "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1991,9 +1974,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], @@ -2029,7 +2009,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI", + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2065,7 +2045,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/email", + "path": "/api/v2/guardian/factors/otp", "body": { "enabled": false }, @@ -2079,7 +2059,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/otp", + "path": "/api/v2/guardian/factors/email", "body": { "enabled": false }, @@ -2093,13 +2073,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/push-notification", "body": { - "enabled": false + "enabled": true }, "status": 200, "response": { - "enabled": false + "enabled": true }, "rawHeaders": [], "responseIsBinary": false @@ -2107,7 +2087,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-platform", + "path": "/api/v2/guardian/factors/webauthn-roaming", "body": { "enabled": false }, @@ -2121,13 +2101,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/push-notification", + "path": "/api/v2/guardian/factors/recovery-code", "body": { - "enabled": true + "enabled": false }, "status": 200, "response": { - "enabled": true + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -2135,7 +2115,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/recovery-code", + "path": "/api/v2/guardian/factors/webauthn-platform", "body": { "enabled": false }, @@ -2149,7 +2129,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", + "path": "/api/v2/guardian/factors/sms", "body": { "enabled": false }, @@ -2250,7 +2230,7 @@ }, "status": 201, "response": { - "id": "0ba50458-8f40-4350-a690-484c530cb5c5", + "id": "ada80236-a38c-477e-8607-57fb51c714f6", "name": "My Custom Action", "supported_triggers": [ { @@ -2258,8 +2238,8 @@ "version": "v2" } ], - "created_at": "2025-10-31T14:57:22.321709927Z", - "updated_at": "2025-10-31T14:57:22.333454578Z", + "created_at": "2025-11-18T04:42:09.263480298Z", + "updated_at": "2025-11-18T04:42:09.276813948Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", @@ -2279,7 +2259,7 @@ "response": { "actions": [ { - "id": "0ba50458-8f40-4350-a690-484c530cb5c5", + "id": "ada80236-a38c-477e-8607-57fb51c714f6", "name": "My Custom Action", "supported_triggers": [ { @@ -2287,8 +2267,8 @@ "version": "v2" } ], - "created_at": "2025-10-31T14:57:22.321709927Z", - "updated_at": "2025-10-31T14:57:22.333454578Z", + "created_at": "2025-11-18T04:42:09.263480298Z", + "updated_at": "2025-11-18T04:42:09.276813948Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", @@ -2306,19 +2286,19 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "POST", - "path": "/api/v2/actions/actions/0ba50458-8f40-4350-a690-484c530cb5c5/deploy", + "path": "/api/v2/actions/actions/ada80236-a38c-477e-8607-57fb51c714f6/deploy", "body": "", "status": 200, "response": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "bd05521b-4f4a-4022-8be8-6f77382a55a8", + "id": "dc9201b2-f56a-4205-b914-75d5330688b1", "deployed": false, "number": 1, "secrets": [], "status": "built", - "created_at": "2025-10-31T14:57:23.082767653Z", - "updated_at": "2025-10-31T14:57:23.082767653Z", + "created_at": "2025-11-18T04:42:09.938084833Z", + "updated_at": "2025-11-18T04:42:09.938084833Z", "runtime": "node18", "supported_triggers": [ { @@ -2327,7 +2307,7 @@ } ], "action": { - "id": "0ba50458-8f40-4350-a690-484c530cb5c5", + "id": "ada80236-a38c-477e-8607-57fb51c714f6", "name": "My Custom Action", "supported_triggers": [ { @@ -2335,14 +2315,42 @@ "version": "v2" } ], - "created_at": "2025-10-31T14:57:22.321709927Z", - "updated_at": "2025-10-31T14:57:22.321709927Z", + "created_at": "2025-11-18T04:42:09.263480298Z", + "updated_at": "2025-11-18T04:42:09.263480298Z", "all_changes_deployed": false } }, "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/breached-password-detection", + "body": { + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard" + }, + "status": 200, + "response": { + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard", + "stage": { + "pre-user-registration": { + "shields": [] + }, + "pre-change-password": { + "shields": [] + } + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -2417,34 +2425,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/breached-password-detection", - "body": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard" - }, - "status": 200, - "response": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard", - "stage": { - "pre-user-registration": { - "shields": [] - }, - "pre-change-password": { - "shields": [] - } - } - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -2472,7 +2452,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-10-31T14:56:40.821Z", + "updated_at": "2025-11-18T04:41:07.750Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] @@ -2482,7 +2462,7 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PUT", + "method": "PATCH", "path": "/api/v2/network-acls/acl_wpZ6oScRU5L6QKAxMUMHmx", "body": { "priority": 1, @@ -2517,7 +2497,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-10-31T14:57:24.230Z", + "updated_at": "2025-11-18T04:42:10.956Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" }, "rawHeaders": [], @@ -2578,61 +2558,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/user-attribute-profiles?take=50", - "body": "", - "status": 200, - "response": { - "user_attribute_profiles": [ - { - "id": "uap_1csDj3szFsgxGS1oTZTdFm", - "name": "test-user-attribute-profile-2", - "user_id": { - "oidc_mapping": "sub", - "saml_mapping": [ - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" - ], - "scim_mapping": "externalId" - }, - "user_attributes": { - "email": { - "label": "Email", - "description": "Email of the User", - "auth0_mapping": "email", - "profile_required": true - } - } - }, - { - "id": "uap_1csDj3sAVu6n5eTzLw6XZg", - "name": "test-user-attribute-profile", - "user_id": { - "oidc_mapping": "sub", - "saml_mapping": [ - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" - ], - "scim_mapping": "externalId" - }, - "user_attributes": { - "email": { - "label": "Email", - "description": "Email of the User", - "auth0_mapping": "email", - "profile_required": true - } - } - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -2817,7 +2742,7 @@ "subject": "deprecated" } ], - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2837,9 +2762,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "API Explorer Application", "allowed_clients": [], "callbacks": [], @@ -2873,7 +2795,7 @@ "subject": "deprecated" } ], - "client_id": "eZwzdXan9x27088CTPhLeCSqJK5Qsb5w", + "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2893,9 +2815,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Node App", "allowed_clients": [], "allowed_logout_urls": [], @@ -2931,7 +2850,7 @@ } ], "allowed_origins": [], - "client_id": "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", + "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2955,9 +2874,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Quickstarts API (Test Application)", "client_metadata": { "foo": "bar" @@ -2983,7 +2899,7 @@ "subject": "deprecated" } ], - "client_id": "KBmsLova1QU1cLpNZ5Wst9NexolH66zz", + "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3002,9 +2918,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Terraform Provider", "cross_origin_auth": false, "is_first_party": true, @@ -3027,7 +2940,7 @@ "subject": "deprecated" } ], - "client_id": "GjnPFoLI9mBsl7zVfF1YcuicqzXFGsfP", + "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3046,12 +2959,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -3063,17 +2978,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -3083,7 +2997,7 @@ "subject": "deprecated" } ], - "client_id": "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", + "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3092,12 +3006,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -3105,17 +3022,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -3127,16 +3036,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -3146,7 +3056,7 @@ "subject": "deprecated" } ], - "client_id": "jm6MlJhDC7xIgKBYePEAsFjMtlJ1ScDE", + "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3155,15 +3065,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -3171,9 +3078,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], @@ -3207,7 +3111,7 @@ "subject": "deprecated" } ], - "client_id": "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI", + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3268,16 +3172,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&strategy=auth0", + "path": "/api/v2/connections?take=50&strategy=auth0", "body": "", "status": 200, "response": { - "total": 1, - "start": 0, - "limit": 50, "connections": [ { - "id": "con_85Lq3efegcuZcVni", + "id": "con_YQIQ8h72LqqSXD75", "options": { "mfa": { "active": true, @@ -3308,7 +3209,7 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ] } ] @@ -3319,13 +3220,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50&strategy=auth0", + "path": "/api/v2/connections?take=50&strategy=auth0", "body": "", "status": 200, "response": { "connections": [ { - "id": "con_85Lq3efegcuZcVni", + "id": "con_YQIQ8h72LqqSXD75", "options": { "mfa": { "active": true, @@ -3356,7 +3257,7 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ] } ] @@ -3367,96 +3268,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&strategy=auth0", + "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75/clients?take=50", "body": "", "status": 200, "response": { - "total": 1, - "start": 0, - "limit": 50, - "connections": [ + "clients": [ { - "id": "con_85Lq3efegcuZcVni", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50&strategy=auth0", - "body": "", - "status": 200, - "response": { - "connections": [ + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + }, { - "id": "con_85Lq3efegcuZcVni", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" - ] + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" } ] }, @@ -3466,16 +3287,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_85Lq3efegcuZcVni/clients?take=50", + "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" }, { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" } ] }, @@ -3490,8 +3311,8 @@ "name": "boo-baz-db-connection-test", "strategy": "auth0", "enabled_clients": [ - "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" + "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" ], "is_domain_connection": false, "options": { @@ -3535,7 +3356,7 @@ }, "status": 201, "response": { - "id": "con_ztvlJaf7zhCaAC7v", + "id": "con_gSK3HKh000WR2Yg5", "options": { "mfa": { "active": true, @@ -3588,8 +3409,8 @@ "name": "boo-baz-db-connection-test", "is_domain_connection": false, "enabled_clients": [ - "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" + "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" ], "realms": [ "boo-baz-db-connection-test" @@ -3601,13 +3422,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=1&name=boo-baz-db-connection-test", + "path": "/api/v2/connections?take=1&name=boo-baz-db-connection-test&include_fields=true", "body": "", "status": 200, "response": { "connections": [ { - "id": "con_ztvlJaf7zhCaAC7v", + "id": "con_gSK3HKh000WR2Yg5", "options": { "mfa": { "active": true, @@ -3663,8 +3484,8 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" + "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" ] } ] @@ -3675,14 +3496,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_ztvlJaf7zhCaAC7v/clients", + "path": "/api/v2/connections/con_gSK3HKh000WR2Yg5/clients", "body": [ { - "client_id": "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", + "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", "status": true }, { - "client_id": "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI", + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", "status": true } ], @@ -3787,7 +3608,7 @@ "subject": "deprecated" } ], - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3807,9 +3628,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "API Explorer Application", "allowed_clients": [], "callbacks": [], @@ -3843,7 +3661,7 @@ "subject": "deprecated" } ], - "client_id": "eZwzdXan9x27088CTPhLeCSqJK5Qsb5w", + "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3863,9 +3681,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Node App", "allowed_clients": [], "allowed_logout_urls": [], @@ -3901,7 +3716,7 @@ } ], "allowed_origins": [], - "client_id": "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", + "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3925,9 +3740,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Quickstarts API (Test Application)", "client_metadata": { "foo": "bar" @@ -3953,7 +3765,7 @@ "subject": "deprecated" } ], - "client_id": "KBmsLova1QU1cLpNZ5Wst9NexolH66zz", + "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3972,9 +3784,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Terraform Provider", "cross_origin_auth": false, "is_first_party": true, @@ -3997,7 +3806,7 @@ "subject": "deprecated" } ], - "client_id": "GjnPFoLI9mBsl7zVfF1YcuicqzXFGsfP", + "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4016,12 +3825,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -4033,17 +3844,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -4053,7 +3863,7 @@ "subject": "deprecated" } ], - "client_id": "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", + "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4062,12 +3872,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -4075,17 +3888,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -4097,16 +3902,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -4116,7 +3922,7 @@ "subject": "deprecated" } ], - "client_id": "jm6MlJhDC7xIgKBYePEAsFjMtlJ1ScDE", + "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4125,15 +3931,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -4141,9 +3944,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], @@ -4177,7 +3977,7 @@ "subject": "deprecated" } ], - "client_id": "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI", + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4238,16 +4038,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true", + "path": "/api/v2/connections?take=50", "body": "", "status": 200, "response": { - "total": 3, - "start": 0, - "limit": 50, "connections": [ { - "id": "con_ztvlJaf7zhCaAC7v", + "id": "con_gSK3HKh000WR2Yg5", "options": { "mfa": { "active": true, @@ -4303,12 +4100,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" + "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" ] }, { - "id": "con_6tyEu2hOP8JuHJku", + "id": "con_TZft9UmXrtdJXHZN", "options": { "email": true, "scope": [ @@ -4325,11 +4122,11 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ] }, { - "id": "con_85Lq3efegcuZcVni", + "id": "con_YQIQ8h72LqqSXD75", "options": { "mfa": { "active": true, @@ -4360,7 +4157,7 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ] } ] @@ -4371,13 +4168,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50", + "path": "/api/v2/connections?take=50", "body": "", "status": 200, "response": { "connections": [ { - "id": "con_ztvlJaf7zhCaAC7v", + "id": "con_gSK3HKh000WR2Yg5", "options": { "mfa": { "active": true, @@ -4433,12 +4230,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" + "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" ] }, { - "id": "con_6tyEu2hOP8JuHJku", + "id": "con_TZft9UmXrtdJXHZN", "options": { "email": true, "scope": [ @@ -4455,11 +4252,11 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ] }, { - "id": "con_85Lq3efegcuZcVni", + "id": "con_YQIQ8h72LqqSXD75", "options": { "mfa": { "active": true, @@ -4490,7 +4287,7 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ] } ] @@ -4501,279 +4298,35 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true", + "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN/clients?take=50", "body": "", "status": 200, "response": { - "total": 3, - "start": 0, - "limit": 50, - "connections": [ + "clients": [ { - "id": "con_ztvlJaf7zhCaAC7v", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true - }, - "strategy": "auth0", - "name": "boo-baz-db-connection-test", - "is_domain_connection": false, - "realms": [ - "boo-baz-db-connection-test" - ], - "enabled_clients": [ - "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" - ] + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" }, { - "id": "con_6tyEu2hOP8JuHJku", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "realms": [ - "google-oauth2" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" - ] + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN/clients?take=50", + "body": "", + "status": 200, + "response": { + "clients": [ + { + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" }, { - "id": "con_85Lq3efegcuZcVni", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50", - "body": "", - "status": 200, - "response": { - "connections": [ - { - "id": "con_ztvlJaf7zhCaAC7v", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true - }, - "strategy": "auth0", - "name": "boo-baz-db-connection-test", - "is_domain_connection": false, - "realms": [ - "boo-baz-db-connection-test" - ], - "enabled_clients": [ - "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" - ] - }, - { - "id": "con_6tyEu2hOP8JuHJku", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "realms": [ - "google-oauth2" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" - ] - }, - { - "id": "con_85Lq3efegcuZcVni", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_6tyEu2hOP8JuHJku/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ - { - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" - }, - { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" } ] }, @@ -4783,11 +4336,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_6tyEu2hOP8JuHJku", + "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN", "body": { "enabled_clients": [ - "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" + "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", + "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" ], "is_domain_connection": false, "options": { @@ -4801,7 +4354,7 @@ }, "status": 200, "response": { - "id": "con_6tyEu2hOP8JuHJku", + "id": "con_TZft9UmXrtdJXHZN", "options": { "email": true, "scope": [ @@ -4814,8 +4367,8 @@ "name": "google-oauth2", "is_domain_connection": false, "enabled_clients": [ - "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" + "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", + "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" ], "realms": [ "google-oauth2" @@ -4827,14 +4380,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_6tyEu2hOP8JuHJku/clients", + "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN/clients", "body": [ { - "client_id": "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", + "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", "status": true }, { - "client_id": "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI", + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", "status": true } ], @@ -4976,7 +4529,7 @@ "subject": "deprecated" } ], - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4996,9 +4549,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "API Explorer Application", "allowed_clients": [], "callbacks": [], @@ -5032,7 +4582,7 @@ "subject": "deprecated" } ], - "client_id": "eZwzdXan9x27088CTPhLeCSqJK5Qsb5w", + "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5052,9 +4602,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Node App", "allowed_clients": [], "allowed_logout_urls": [], @@ -5090,7 +4637,7 @@ } ], "allowed_origins": [], - "client_id": "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", + "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5114,9 +4661,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Quickstarts API (Test Application)", "client_metadata": { "foo": "bar" @@ -5142,7 +4686,7 @@ "subject": "deprecated" } ], - "client_id": "KBmsLova1QU1cLpNZ5Wst9NexolH66zz", + "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5161,9 +4705,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Terraform Provider", "cross_origin_auth": false, "is_first_party": true, @@ -5186,7 +4727,7 @@ "subject": "deprecated" } ], - "client_id": "GjnPFoLI9mBsl7zVfF1YcuicqzXFGsfP", + "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5205,12 +4746,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -5222,17 +4765,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -5242,7 +4784,7 @@ "subject": "deprecated" } ], - "client_id": "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", + "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5251,12 +4793,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -5264,17 +4809,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -5286,16 +4823,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -5305,7 +4843,7 @@ "subject": "deprecated" } ], - "client_id": "jm6MlJhDC7xIgKBYePEAsFjMtlJ1ScDE", + "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5314,15 +4852,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -5330,9 +4865,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], @@ -5366,7 +4898,7 @@ "subject": "deprecated" } ], - "client_id": "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI", + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5427,13 +4959,10 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/client-grants?per_page=100&page=0&include_totals=true", + "path": "/api/v2/client-grants?take=50", "body": "", "status": 200, "response": { - "total": 1, - "start": 0, - "limit": 100, "client_grants": [ { "id": "cgr_pbwejzhwoujrsNE8", @@ -5680,7 +5209,7 @@ "method": "POST", "path": "/api/v2/client-grants", "body": { - "client_id": "eZwzdXan9x27088CTPhLeCSqJK5Qsb5w", + "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -5817,8 +5346,8 @@ }, "status": 201, "response": { - "id": "cgr_sMnn6UuFajCTdk3u", - "client_id": "eZwzdXan9x27088CTPhLeCSqJK5Qsb5w", + "id": "cgr_9BAlRXJOVpDaB7eR", + "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -5962,7 +5491,7 @@ "method": "POST", "path": "/api/v2/client-grants", "body": { - "client_id": "GjnPFoLI9mBsl7zVfF1YcuicqzXFGsfP", + "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -6099,8 +5628,8 @@ }, "status": 201, "response": { - "id": "cgr_FWvBRbi6ftSVCXKS", - "client_id": "GjnPFoLI9mBsl7zVfF1YcuicqzXFGsfP", + "id": "cgr_3AYjjoZPrtNXxpUX", + "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -6264,7 +5793,7 @@ }, "status": 200, "response": { - "id": "rol_81RrNH8R5oCDnBUG", + "id": "rol_3OJzKOu3TsUKCvFO", "name": "Reader", "description": "Can only read things" }, @@ -6281,7 +5810,7 @@ }, "status": 200, "response": { - "id": "rol_4BDf23iFJRSAfWkE", + "id": "rol_QuDH6eKysxE8ilL9", "name": "Admin", "description": "Can read and write things" }, @@ -6298,7 +5827,7 @@ }, "status": 200, "response": { - "id": "rol_v44pj0PGL7Gq9FQC", + "id": "rol_dqwrzyi9Bx9QmZ3E", "name": "read_only", "description": "Read Only" }, @@ -6315,7 +5844,7 @@ }, "status": 200, "response": { - "id": "rol_CyaPmtQRfUFB7rxL", + "id": "rol_tcKxqeYyc6Eqp7Jb", "name": "read_osnly", "description": "Readz Only" }, @@ -6351,7 +5880,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-10-31T14:56:52.430Z", + "updated_at": "2025-11-18T04:41:17.205Z", "branding": { "colors": { "primary": "#19aecc" @@ -6427,7 +5956,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-10-31T14:57:39.353Z", + "updated_at": "2025-11-18T04:42:23.144Z", "branding": { "colors": { "primary": "#19aecc" @@ -6440,25 +5969,27 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/email-templates/verify_email", + "path": "/api/v2/email-templates/welcome_email", "body": { - "template": "verify_email", - "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", - "enabled": true, + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "enabled": false, "from": "", - "subject": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", "syntax": "liquid", - "urlLifetimeInSeconds": 432000 + "urlLifetimeInSeconds": 3600 }, "status": 200, "response": { - "template": "verify_email", - "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", "from": "", - "subject": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", "syntax": "liquid", - "urlLifetimeInSeconds": 432000, - "enabled": true + "urlLifetimeInSeconds": 3600, + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -6466,42 +5997,25 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/email-templates/welcome_email", + "path": "/api/v2/email-templates/verify_email", "body": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "enabled": false, + "template": "verify_email", + "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", + "enabled": true, "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", + "subject": "", "syntax": "liquid", - "urlLifetimeInSeconds": 3600 + "urlLifetimeInSeconds": 432000 }, "status": 200, "response": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", + "template": "verify_email", + "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", + "subject": "", "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations?include_totals=true", - "body": "", - "status": 200, - "response": { - "organizations": [], - "start": 0, - "limit": 50, - "total": 0 + "urlLifetimeInSeconds": 432000, + "enabled": true }, "rawHeaders": [], "responseIsBinary": false @@ -6602,7 +6116,7 @@ "subject": "deprecated" } ], - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6622,9 +6136,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "API Explorer Application", "allowed_clients": [], "callbacks": [], @@ -6658,7 +6169,7 @@ "subject": "deprecated" } ], - "client_id": "eZwzdXan9x27088CTPhLeCSqJK5Qsb5w", + "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6678,9 +6189,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Node App", "allowed_clients": [], "allowed_logout_urls": [], @@ -6716,7 +6224,7 @@ } ], "allowed_origins": [], - "client_id": "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", + "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6740,9 +6248,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Quickstarts API (Test Application)", "client_metadata": { "foo": "bar" @@ -6768,7 +6273,7 @@ "subject": "deprecated" } ], - "client_id": "KBmsLova1QU1cLpNZ5Wst9NexolH66zz", + "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6787,9 +6292,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Terraform Provider", "cross_origin_auth": false, "is_first_party": true, @@ -6812,7 +6314,7 @@ "subject": "deprecated" } ], - "client_id": "GjnPFoLI9mBsl7zVfF1YcuicqzXFGsfP", + "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6831,12 +6333,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -6848,17 +6352,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -6868,7 +6371,7 @@ "subject": "deprecated" } ], - "client_id": "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", + "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6877,12 +6380,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -6890,17 +6396,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -6912,16 +6410,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -6931,7 +6430,7 @@ "subject": "deprecated" } ], - "client_id": "jm6MlJhDC7xIgKBYePEAsFjMtlJ1ScDE", + "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6940,15 +6439,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -6956,9 +6452,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], @@ -6992,7 +6485,7 @@ "subject": "deprecated" } ], - "client_id": "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI", + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7053,7 +6546,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations?include_totals=true&take=50", + "path": "/api/v2/organizations?take=50", "body": "", "status": 200, "response": { @@ -7065,146 +6558,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true", - "body": "", - "status": 200, - "response": { - "total": 3, - "start": 0, - "limit": 50, - "connections": [ - { - "id": "con_ztvlJaf7zhCaAC7v", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true - }, - "strategy": "auth0", - "name": "boo-baz-db-connection-test", - "is_domain_connection": false, - "realms": [ - "boo-baz-db-connection-test" - ], - "enabled_clients": [ - "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" - ] - }, - { - "id": "con_6tyEu2hOP8JuHJku", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "realms": [ - "google-oauth2" - ], - "enabled_clients": [ - "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" - ] - }, - { - "id": "con_85Lq3efegcuZcVni", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50", + "path": "/api/v2/connections?take=50", "body": "", "status": 200, "response": { "connections": [ { - "id": "con_ztvlJaf7zhCaAC7v", + "id": "con_gSK3HKh000WR2Yg5", "options": { "mfa": { "active": true, @@ -7260,12 +6620,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" + "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" ] }, { - "id": "con_6tyEu2hOP8JuHJku", + "id": "con_TZft9UmXrtdJXHZN", "options": { "email": true, "scope": [ @@ -7281,12 +6641,12 @@ "google-oauth2" ], "enabled_clients": [ - "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" + "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", + "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" ] }, { - "id": "con_85Lq3efegcuZcVni", + "id": "con_YQIQ8h72LqqSXD75", "options": { "mfa": { "active": true, @@ -7317,7 +6677,7 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ] } ] @@ -7328,17 +6688,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/client-grants?per_page=100&page=0&include_totals=true", + "path": "/api/v2/client-grants?take=50", "body": "", "status": 200, "response": { - "total": 3, - "start": 0, - "limit": 100, "client_grants": [ { - "id": "cgr_FWvBRbi6ftSVCXKS", - "client_id": "GjnPFoLI9mBsl7zVfF1YcuicqzXFGsfP", + "id": "cgr_3AYjjoZPrtNXxpUX", + "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -7475,8 +6832,8 @@ "subject_type": "client" }, { - "id": "cgr_pbwejzhwoujrsNE8", - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "id": "cgr_9BAlRXJOVpDaB7eR", + "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -7503,10 +6860,6 @@ "update:client_keys", "delete:client_keys", "create:client_keys", - "read:client_credentials", - "update:client_credentials", - "delete:client_credentials", - "create:client_credentials", "read:connections", "update:connections", "delete:connections", @@ -7596,19 +6949,10 @@ "read:entitlements", "read:attack_protection", "update:attack_protection", - "read:organizations_summary", - "create:authentication_methods", - "read:authentication_methods", - "update:authentication_methods", - "delete:authentication_methods", "read:organizations", "update:organizations", "create:organizations", "delete:organizations", - "read:organization_discovery_domains", - "update:organization_discovery_domains", - "create:organization_discovery_domains", - "delete:organization_discovery_domains", "create:organization_members", "read:organization_members", "delete:organization_members", @@ -7621,97 +6965,13 @@ "delete:organization_member_roles", "create:organization_invitations", "read:organization_invitations", - "delete:organization_invitations", - "read:scim_config", - "create:scim_config", - "update:scim_config", - "delete:scim_config", - "create:scim_token", - "read:scim_token", - "delete:scim_token", - "delete:phone_providers", - "create:phone_providers", - "read:phone_providers", - "update:phone_providers", - "delete:phone_templates", - "create:phone_templates", - "read:phone_templates", - "update:phone_templates", - "create:encryption_keys", - "read:encryption_keys", - "update:encryption_keys", - "delete:encryption_keys", - "read:sessions", - "update:sessions", - "delete:sessions", - "read:refresh_tokens", - "delete:refresh_tokens", - "create:self_service_profiles", - "read:self_service_profiles", - "update:self_service_profiles", - "delete:self_service_profiles", - "create:sso_access_tickets", - "delete:sso_access_tickets", - "read:forms", - "update:forms", - "delete:forms", - "create:forms", - "read:flows", - "update:flows", - "delete:flows", - "create:flows", - "read:flows_vault", - "read:flows_vault_connections", - "update:flows_vault_connections", - "delete:flows_vault_connections", - "create:flows_vault_connections", - "read:flows_executions", - "delete:flows_executions", - "read:connections_options", - "update:connections_options", - "read:self_service_profile_custom_texts", - "update:self_service_profile_custom_texts", - "create:network_acls", - "update:network_acls", - "read:network_acls", - "delete:network_acls", - "delete:vdcs_templates", - "read:vdcs_templates", - "create:vdcs_templates", - "update:vdcs_templates", - "create:custom_signing_keys", - "read:custom_signing_keys", - "update:custom_signing_keys", - "delete:custom_signing_keys", - "read:federated_connections_tokens", - "delete:federated_connections_tokens", - "create:user_attribute_profiles", - "read:user_attribute_profiles", - "update:user_attribute_profiles", - "delete:user_attribute_profiles", - "read:event_streams", - "create:event_streams", - "delete:event_streams", - "update:event_streams", - "read:event_deliveries", - "update:event_deliveries", - "create:connection_profiles", - "read:connection_profiles", - "update:connection_profiles", - "delete:connection_profiles", - "read:organization_client_grants", - "create:organization_client_grants", - "delete:organization_client_grants", - "read:security_metrics", - "read:connections_keys", - "update:connections_keys", - "create:connections_keys" + "delete:organization_invitations" ], "subject_type": "client" }, { - "id": "cgr_sMnn6UuFajCTdk3u", - "client_id": "eZwzdXan9x27088CTPhLeCSqJK5Qsb5w", + "id": "cgr_pbwejzhwoujrsNE8", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -7738,6 +6998,10 @@ "update:client_keys", "delete:client_keys", "create:client_keys", + "read:client_credentials", + "update:client_credentials", + "delete:client_credentials", + "create:client_credentials", "read:connections", "update:connections", "delete:connections", @@ -7827,10 +7091,19 @@ "read:entitlements", "read:attack_protection", "update:attack_protection", + "read:organizations_summary", + "create:authentication_methods", + "read:authentication_methods", + "update:authentication_methods", + "delete:authentication_methods", "read:organizations", "update:organizations", "create:organizations", "delete:organizations", + "read:organization_discovery_domains", + "update:organization_discovery_domains", + "create:organization_discovery_domains", + "delete:organization_discovery_domains", "create:organization_members", "read:organization_members", "delete:organization_members", @@ -7843,7 +7116,91 @@ "delete:organization_member_roles", "create:organization_invitations", "read:organization_invitations", - "delete:organization_invitations" + "delete:organization_invitations", + "read:scim_config", + "create:scim_config", + "update:scim_config", + "delete:scim_config", + "create:scim_token", + "read:scim_token", + "delete:scim_token", + "delete:phone_providers", + "create:phone_providers", + "read:phone_providers", + "update:phone_providers", + "delete:phone_templates", + "create:phone_templates", + "read:phone_templates", + "update:phone_templates", + "create:encryption_keys", + "read:encryption_keys", + "update:encryption_keys", + "delete:encryption_keys", + "read:sessions", + "update:sessions", + "delete:sessions", + "read:refresh_tokens", + "delete:refresh_tokens", + "create:self_service_profiles", + "read:self_service_profiles", + "update:self_service_profiles", + "delete:self_service_profiles", + "create:sso_access_tickets", + "delete:sso_access_tickets", + "read:forms", + "update:forms", + "delete:forms", + "create:forms", + "read:flows", + "update:flows", + "delete:flows", + "create:flows", + "read:flows_vault", + "read:flows_vault_connections", + "update:flows_vault_connections", + "delete:flows_vault_connections", + "create:flows_vault_connections", + "read:flows_executions", + "delete:flows_executions", + "read:connections_options", + "update:connections_options", + "read:self_service_profile_custom_texts", + "update:self_service_profile_custom_texts", + "create:network_acls", + "update:network_acls", + "read:network_acls", + "delete:network_acls", + "delete:vdcs_templates", + "read:vdcs_templates", + "create:vdcs_templates", + "update:vdcs_templates", + "create:custom_signing_keys", + "read:custom_signing_keys", + "update:custom_signing_keys", + "delete:custom_signing_keys", + "read:federated_connections_tokens", + "delete:federated_connections_tokens", + "create:user_attribute_profiles", + "read:user_attribute_profiles", + "update:user_attribute_profiles", + "delete:user_attribute_profiles", + "read:event_streams", + "create:event_streams", + "delete:event_streams", + "update:event_streams", + "read:event_deliveries", + "update:event_deliveries", + "create:connection_profiles", + "read:connection_profiles", + "update:connection_profiles", + "delete:connection_profiles", + "read:organization_client_grants", + "create:organization_client_grants", + "delete:organization_client_grants", + "read:security_metrics", + "read:connections_keys", + "update:connections_keys", + "create:connections_keys" ], "subject_type": "client" } @@ -7948,7 +7305,7 @@ "subject": "deprecated" } ], - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7968,9 +7325,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "API Explorer Application", "allowed_clients": [], "callbacks": [], @@ -8004,7 +7358,7 @@ "subject": "deprecated" } ], - "client_id": "eZwzdXan9x27088CTPhLeCSqJK5Qsb5w", + "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8024,9 +7378,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Node App", "allowed_clients": [], "allowed_logout_urls": [], @@ -8062,7 +7413,7 @@ } ], "allowed_origins": [], - "client_id": "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", + "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8086,9 +7437,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Quickstarts API (Test Application)", "client_metadata": { "foo": "bar" @@ -8114,7 +7462,7 @@ "subject": "deprecated" } ], - "client_id": "KBmsLova1QU1cLpNZ5Wst9NexolH66zz", + "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8133,9 +7481,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Terraform Provider", "cross_origin_auth": false, "is_first_party": true, @@ -8158,7 +7503,7 @@ "subject": "deprecated" } ], - "client_id": "GjnPFoLI9mBsl7zVfF1YcuicqzXFGsfP", + "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8177,12 +7522,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -8194,17 +7541,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -8214,7 +7560,7 @@ "subject": "deprecated" } ], - "client_id": "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", + "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8223,12 +7569,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -8236,17 +7585,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -8258,16 +7599,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -8277,7 +7619,7 @@ "subject": "deprecated" } ], - "client_id": "jm6MlJhDC7xIgKBYePEAsFjMtlJ1ScDE", + "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8286,15 +7628,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -8302,9 +7641,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], @@ -8338,7 +7674,7 @@ "subject": "deprecated" } ], - "client_id": "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI", + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8396,6 +7732,23 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "POST", + "path": "/api/v2/organizations", + "body": { + "name": "org2", + "display_name": "Organization2" + }, + "status": 201, + "response": { + "id": "org_JrXRxTbTrRdicEcf", + "display_name": "Organization2", + "name": "org2" + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "POST", @@ -8412,7 +7765,7 @@ }, "status": 201, "response": { - "id": "org_VF8F48N4jwlx9iqb", + "id": "org_PCcwQ9qOcuJfWkEL", "display_name": "Organization", "name": "org1", "branding": { @@ -8425,23 +7778,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/organizations", - "body": { - "name": "org2", - "display_name": "Organization2" - }, - "status": 201, - "response": { - "id": "org_9YMsat8TwkngWftp", - "display_name": "Organization2", - "name": "org2" - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -8466,7 +7802,7 @@ }, "status": 200, "response": { - "id": "lst_0000000000024850", + "id": "lst_0000000000025177", "name": "Suspended DD Log Stream", "type": "datadog", "status": "active", @@ -8531,14 +7867,14 @@ }, "status": 200, "response": { - "id": "lst_0000000000024851", + "id": "lst_0000000000025178", "name": "Amazon EventBridge", "type": "eventbridge", "status": "active", "sink": { "awsAccountId": "123456789012", "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-64398cc2-e658-4da6-af38-c7874b6b043d/auth0.logs" + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-c1366744-b33c-4125-b8c0-625b40865581/auth0.logs" }, "filters": [ { @@ -8601,14 +7937,22 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, - "total": 0, - "flows": [] + "total": 1, + "forms": [ + { + "id": "ap_6JUSCU7qq1CravnoU6d6jr", + "name": "Blank-form", + "flow_count": 0, + "created_at": "2024-11-26T11:58:18.187Z", + "updated_at": "2025-11-18T04:41:25.239Z" + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -8616,22 +7960,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, - "total": 1, - "forms": [ - { - "id": "ap_6JUSCU7qq1CravnoU6d6jr", - "name": "Blank-form", - "flow_count": 0, - "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-10-31T14:57:00.495Z" - } - ] + "total": 0, + "flows": [] }, "rawHeaders": [], "responseIsBinary": false @@ -8700,7 +8036,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-10-31T14:57:00.495Z" + "updated_at": "2025-11-18T04:41:25.239Z" }, "rawHeaders": [], "responseIsBinary": false @@ -8825,7 +8161,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-10-31T14:57:47.048Z" + "updated_at": "2025-11-18T04:42:29.394Z" }, "rawHeaders": [], "responseIsBinary": false @@ -8925,6 +8261,7 @@ }, "identifier_first": true }, + "resource_parameter_profile": "audience", "session_cookie": { "mode": "non-persistent" } @@ -10037,7 +9374,7 @@ "subject": "deprecated" } ], - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10057,9 +9394,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "API Explorer Application", "allowed_clients": [], "callbacks": [], @@ -10093,7 +9427,7 @@ "subject": "deprecated" } ], - "client_id": "eZwzdXan9x27088CTPhLeCSqJK5Qsb5w", + "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10113,9 +9447,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Node App", "allowed_clients": [], "allowed_logout_urls": [], @@ -10151,7 +9482,7 @@ } ], "allowed_origins": [], - "client_id": "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", + "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10175,9 +9506,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Quickstarts API (Test Application)", "client_metadata": { "foo": "bar" @@ -10203,7 +9531,7 @@ "subject": "deprecated" } ], - "client_id": "KBmsLova1QU1cLpNZ5Wst9NexolH66zz", + "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10222,9 +9550,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Terraform Provider", "cross_origin_auth": false, "is_first_party": true, @@ -10247,7 +9572,7 @@ "subject": "deprecated" } ], - "client_id": "GjnPFoLI9mBsl7zVfF1YcuicqzXFGsfP", + "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10266,12 +9591,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -10283,17 +9610,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -10303,7 +9629,7 @@ "subject": "deprecated" } ], - "client_id": "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", + "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10312,12 +9638,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -10325,17 +9654,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -10347,16 +9668,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -10366,7 +9688,7 @@ "subject": "deprecated" } ], - "client_id": "jm6MlJhDC7xIgKBYePEAsFjMtlJ1ScDE", + "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10375,15 +9697,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -10391,9 +9710,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], @@ -10427,7 +9743,7 @@ "subject": "deprecated" } ], - "client_id": "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI", + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10451,7 +9767,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "path": "/api/v2/clients/wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "body": { "name": "Default App", "callbacks": [], @@ -10512,7 +9828,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10548,7 +9864,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/push-notification", + "path": "/api/v2/guardian/factors/otp", "body": { "enabled": false }, @@ -10562,7 +9878,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", + "path": "/api/v2/guardian/factors/recovery-code", "body": { "enabled": false }, @@ -10576,7 +9892,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/email", "body": { "enabled": false }, @@ -10590,7 +9906,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/otp", + "path": "/api/v2/guardian/factors/push-notification", "body": { "enabled": false }, @@ -10604,7 +9920,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/recovery-code", + "path": "/api/v2/guardian/factors/webauthn-platform", "body": { "enabled": false }, @@ -10618,7 +9934,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-platform", + "path": "/api/v2/guardian/factors/sms", "body": { "enabled": false }, @@ -10632,7 +9948,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/email", + "path": "/api/v2/guardian/factors/webauthn-roaming", "body": { "enabled": false }, @@ -10705,7 +10021,7 @@ "response": { "actions": [ { - "id": "0ba50458-8f40-4350-a690-484c530cb5c5", + "id": "ada80236-a38c-477e-8607-57fb51c714f6", "name": "My Custom Action", "supported_triggers": [ { @@ -10713,34 +10029,34 @@ "version": "v2" } ], - "created_at": "2025-10-31T14:57:22.321709927Z", - "updated_at": "2025-10-31T14:57:22.333454578Z", + "created_at": "2025-11-18T04:42:09.263480298Z", + "updated_at": "2025-11-18T04:42:09.276813948Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "built", "secrets": [], "current_version": { - "id": "bd05521b-4f4a-4022-8be8-6f77382a55a8", + "id": "dc9201b2-f56a-4205-b914-75d5330688b1", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node18", "status": "BUILT", "number": 1, - "build_time": "2025-10-31T14:57:23.139420848Z", - "created_at": "2025-10-31T14:57:23.082767653Z", - "updated_at": "2025-10-31T14:57:23.139739622Z" + "build_time": "2025-11-18T04:42:10.034576826Z", + "created_at": "2025-11-18T04:42:09.938084833Z", + "updated_at": "2025-11-18T04:42:10.036175645Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "bd05521b-4f4a-4022-8be8-6f77382a55a8", + "id": "dc9201b2-f56a-4205-b914-75d5330688b1", "deployed": true, "number": 1, - "built_at": "2025-10-31T14:57:23.139420848Z", + "built_at": "2025-11-18T04:42:10.034576826Z", "secrets": [], "status": "built", - "created_at": "2025-10-31T14:57:23.082767653Z", - "updated_at": "2025-10-31T14:57:23.139739622Z", + "created_at": "2025-11-18T04:42:09.938084833Z", + "updated_at": "2025-11-18T04:42:10.036175645Z", "runtime": "node18", "supported_triggers": [ { @@ -10767,7 +10083,7 @@ "response": { "actions": [ { - "id": "0ba50458-8f40-4350-a690-484c530cb5c5", + "id": "ada80236-a38c-477e-8607-57fb51c714f6", "name": "My Custom Action", "supported_triggers": [ { @@ -10775,34 +10091,34 @@ "version": "v2" } ], - "created_at": "2025-10-31T14:57:22.321709927Z", - "updated_at": "2025-10-31T14:57:22.333454578Z", + "created_at": "2025-11-18T04:42:09.263480298Z", + "updated_at": "2025-11-18T04:42:09.276813948Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "built", "secrets": [], "current_version": { - "id": "bd05521b-4f4a-4022-8be8-6f77382a55a8", + "id": "dc9201b2-f56a-4205-b914-75d5330688b1", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node18", "status": "BUILT", "number": 1, - "build_time": "2025-10-31T14:57:23.139420848Z", - "created_at": "2025-10-31T14:57:23.082767653Z", - "updated_at": "2025-10-31T14:57:23.139739622Z" + "build_time": "2025-11-18T04:42:10.034576826Z", + "created_at": "2025-11-18T04:42:09.938084833Z", + "updated_at": "2025-11-18T04:42:10.036175645Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "bd05521b-4f4a-4022-8be8-6f77382a55a8", + "id": "dc9201b2-f56a-4205-b914-75d5330688b1", "deployed": true, "number": 1, - "built_at": "2025-10-31T14:57:23.139420848Z", + "built_at": "2025-11-18T04:42:10.034576826Z", "secrets": [], "status": "built", - "created_at": "2025-10-31T14:57:23.082767653Z", - "updated_at": "2025-10-31T14:57:23.139739622Z", + "created_at": "2025-11-18T04:42:09.938084833Z", + "updated_at": "2025-11-18T04:42:10.036175645Z", "runtime": "node18", "supported_triggers": [ { @@ -10820,6 +10136,34 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/brute-force-protection", + "body": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 10 + }, + "status": 200, + "response": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 10 + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -10892,34 +10236,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/brute-force-protection", - "body": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 10 - }, - "status": 200, - "response": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 10 - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -11016,7 +10332,7 @@ "subject": "deprecated" } ], - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11036,9 +10352,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "API Explorer Application", "allowed_clients": [], "callbacks": [], @@ -11072,7 +10385,7 @@ "subject": "deprecated" } ], - "client_id": "eZwzdXan9x27088CTPhLeCSqJK5Qsb5w", + "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11092,9 +10405,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Node App", "allowed_clients": [], "allowed_logout_urls": [], @@ -11130,7 +10440,7 @@ } ], "allowed_origins": [], - "client_id": "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", + "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11154,9 +10464,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Quickstarts API (Test Application)", "client_metadata": { "foo": "bar" @@ -11182,7 +10489,7 @@ "subject": "deprecated" } ], - "client_id": "KBmsLova1QU1cLpNZ5Wst9NexolH66zz", + "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11201,9 +10508,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Terraform Provider", "cross_origin_auth": false, "is_first_party": true, @@ -11226,7 +10530,7 @@ "subject": "deprecated" } ], - "client_id": "GjnPFoLI9mBsl7zVfF1YcuicqzXFGsfP", + "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11245,12 +10549,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -11262,17 +10568,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -11282,7 +10587,7 @@ "subject": "deprecated" } ], - "client_id": "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", + "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11291,12 +10596,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -11304,17 +10612,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -11326,16 +10626,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -11345,7 +10646,7 @@ "subject": "deprecated" } ], - "client_id": "jm6MlJhDC7xIgKBYePEAsFjMtlJ1ScDE", + "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11354,15 +10655,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -11370,9 +10668,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], @@ -11406,7 +10701,7 @@ "subject": "deprecated" } ], - "client_id": "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI", + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11467,16 +10762,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&strategy=auth0", + "path": "/api/v2/connections?take=50&strategy=auth0", "body": "", "status": 200, "response": { - "total": 2, - "start": 0, - "limit": 50, "connections": [ { - "id": "con_ztvlJaf7zhCaAC7v", + "id": "con_gSK3HKh000WR2Yg5", "options": { "mfa": { "active": true, @@ -11532,12 +10824,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" + "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" ] }, { - "id": "con_85Lq3efegcuZcVni", + "id": "con_YQIQ8h72LqqSXD75", "options": { "mfa": { "active": true, @@ -11568,7 +10860,7 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ] } ] @@ -11579,13 +10871,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50&strategy=auth0", + "path": "/api/v2/connections?take=50&strategy=auth0", "body": "", "status": 200, "response": { "connections": [ { - "id": "con_ztvlJaf7zhCaAC7v", + "id": "con_gSK3HKh000WR2Yg5", "options": { "mfa": { "active": true, @@ -11641,12 +10933,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" + "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" ] }, { - "id": "con_85Lq3efegcuZcVni", + "id": "con_YQIQ8h72LqqSXD75", "options": { "mfa": { "active": true, @@ -11677,7 +10969,7 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ] } ] @@ -11688,109 +10980,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&strategy=auth0", + "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75/clients?take=50", "body": "", "status": 200, "response": { - "total": 2, - "start": 0, - "limit": 50, - "connections": [ + "clients": [ { - "id": "con_ztvlJaf7zhCaAC7v", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true - }, - "strategy": "auth0", - "name": "boo-baz-db-connection-test", - "is_domain_connection": false, - "realms": [ - "boo-baz-db-connection-test" - ], - "enabled_clients": [ - "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" - ] + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" }, { - "id": "con_85Lq3efegcuZcVni", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" - ] + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" } ] }, @@ -11800,106 +10999,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50&strategy=auth0", + "path": "/api/v2/connections/con_gSK3HKh000WR2Yg5/clients?take=50", "body": "", "status": 200, "response": { - "connections": [ + "clients": [ { - "id": "con_ztvlJaf7zhCaAC7v", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true - }, - "strategy": "auth0", - "name": "boo-baz-db-connection-test", - "is_domain_connection": false, - "realms": [ - "boo-baz-db-connection-test" - ], - "enabled_clients": [ - "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" - ] + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" }, { - "id": "con_85Lq3efegcuZcVni", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" - ] + "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K" } ] }, @@ -11909,16 +11018,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_ztvlJaf7zhCaAC7v/clients?take=50", + "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" }, { - "client_id": "SrN1EUDvsQo826qtaOqWlxMRN5y08alc" + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" } ] }, @@ -11928,16 +11037,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_85Lq3efegcuZcVni/clients?take=50", + "path": "/api/v2/connections/con_gSK3HKh000WR2Yg5/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" }, { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K" } ] }, @@ -11947,11 +11056,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_85Lq3efegcuZcVni", + "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75", "body": "", "status": 200, "response": { - "id": "con_85Lq3efegcuZcVni", + "id": "con_YQIQ8h72LqqSXD75", "options": { "mfa": { "active": true, @@ -11979,7 +11088,7 @@ "is_domain_connection": false, "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ], "realms": [ "Username-Password-Authentication" @@ -11991,11 +11100,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_85Lq3efegcuZcVni", + "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75", "body": { "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ], "is_domain_connection": false, "options": { @@ -12026,7 +11135,7 @@ }, "status": 200, "response": { - "id": "con_85Lq3efegcuZcVni", + "id": "con_YQIQ8h72LqqSXD75", "options": { "mfa": { "active": true, @@ -12054,7 +11163,7 @@ "is_domain_connection": false, "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ], "realms": [ "Username-Password-Authentication" @@ -12066,14 +11175,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_85Lq3efegcuZcVni/clients", + "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75/clients", "body": [ { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "status": true }, { - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "status": true } ], @@ -12178,7 +11287,7 @@ "subject": "deprecated" } ], - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12198,9 +11307,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "API Explorer Application", "allowed_clients": [], "callbacks": [], @@ -12234,7 +11340,7 @@ "subject": "deprecated" } ], - "client_id": "eZwzdXan9x27088CTPhLeCSqJK5Qsb5w", + "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12254,9 +11360,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Node App", "allowed_clients": [], "allowed_logout_urls": [], @@ -12292,7 +11395,7 @@ } ], "allowed_origins": [], - "client_id": "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", + "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12316,9 +11419,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Quickstarts API (Test Application)", "client_metadata": { "foo": "bar" @@ -12344,7 +11444,7 @@ "subject": "deprecated" } ], - "client_id": "KBmsLova1QU1cLpNZ5Wst9NexolH66zz", + "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12363,9 +11463,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Terraform Provider", "cross_origin_auth": false, "is_first_party": true, @@ -12388,7 +11485,7 @@ "subject": "deprecated" } ], - "client_id": "GjnPFoLI9mBsl7zVfF1YcuicqzXFGsfP", + "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12407,12 +11504,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -12424,17 +11523,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -12444,7 +11542,7 @@ "subject": "deprecated" } ], - "client_id": "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", + "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12453,12 +11551,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -12466,17 +11567,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -12488,16 +11581,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -12507,7 +11601,7 @@ "subject": "deprecated" } ], - "client_id": "jm6MlJhDC7xIgKBYePEAsFjMtlJ1ScDE", + "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12516,15 +11610,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -12532,9 +11623,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], @@ -12568,7 +11656,7 @@ "subject": "deprecated" } ], - "client_id": "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI", + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12629,16 +11717,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true", + "path": "/api/v2/connections?take=50", "body": "", "status": 200, "response": { - "total": 3, - "start": 0, - "limit": 50, "connections": [ { - "id": "con_ztvlJaf7zhCaAC7v", + "id": "con_gSK3HKh000WR2Yg5", "options": { "mfa": { "active": true, @@ -12694,12 +11779,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" + "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" ] }, { - "id": "con_6tyEu2hOP8JuHJku", + "id": "con_TZft9UmXrtdJXHZN", "options": { "email": true, "scope": [ @@ -12715,12 +11800,12 @@ "google-oauth2" ], "enabled_clients": [ - "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" + "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", + "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" ] }, { - "id": "con_85Lq3efegcuZcVni", + "id": "con_YQIQ8h72LqqSXD75", "options": { "mfa": { "active": true, @@ -12751,7 +11836,7 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ] } ] @@ -12762,13 +11847,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50", + "path": "/api/v2/connections?take=50", "body": "", "status": 200, "response": { "connections": [ { - "id": "con_ztvlJaf7zhCaAC7v", + "id": "con_gSK3HKh000WR2Yg5", "options": { "mfa": { "active": true, @@ -12824,12 +11909,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" + "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" ] }, { - "id": "con_6tyEu2hOP8JuHJku", + "id": "con_TZft9UmXrtdJXHZN", "options": { "email": true, "scope": [ @@ -12845,12 +11930,12 @@ "google-oauth2" ], "enabled_clients": [ - "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" + "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", + "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" ] }, { - "id": "con_85Lq3efegcuZcVni", + "id": "con_YQIQ8h72LqqSXD75", "options": { "mfa": { "active": true, @@ -12881,7 +11966,7 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ] } ] @@ -12892,130 +11977,35 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true", + "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN/clients?take=50", "body": "", "status": 200, "response": { - "total": 3, - "start": 0, - "limit": 50, - "connections": [ + "clients": [ { - "id": "con_ztvlJaf7zhCaAC7v", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true - }, - "strategy": "auth0", - "name": "boo-baz-db-connection-test", - "is_domain_connection": false, - "realms": [ - "boo-baz-db-connection-test" - ], - "enabled_clients": [ - "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" - ] + "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU" }, { - "id": "con_6tyEu2hOP8JuHJku", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "realms": [ - "google-oauth2" - ], - "enabled_clients": [ - "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" - ] + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN/clients?take=50", + "body": "", + "status": 200, + "response": { + "clients": [ + { + "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU" }, { - "id": "con_85Lq3efegcuZcVni", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" - ] + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" } ] }, @@ -13025,202 +12015,53 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50", + "path": "/api/v2/emails/provider?fields=name%2Cenabled%2Ccredentials%2Csettings%2Cdefault_from_address&include_fields=true", "body": "", "status": 200, "response": { - "connections": [ + "name": "mandrill", + "credentials": {}, + "default_from_address": "auth0-user@auth0.com", + "enabled": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "total": 10, + "start": 0, + "limit": 100, + "clients": [ { - "id": "con_ztvlJaf7zhCaAC7v", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true - }, - "strategy": "auth0", - "name": "boo-baz-db-connection-test", - "is_domain_connection": false, - "realms": [ - "boo-baz-db-connection-test" - ], - "enabled_clients": [ - "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" - ] - }, - { - "id": "con_6tyEu2hOP8JuHJku", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "realms": [ - "google-oauth2" - ], - "enabled_clients": [ - "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" - ] - }, - { - "id": "con_85Lq3efegcuZcVni", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_6tyEu2hOP8JuHJku/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ - { - "client_id": "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" - }, - { - "client_id": "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/emails/provider?fields=name%2Cenabled%2Ccredentials%2Csettings%2Cdefault_from_address&include_fields=true", - "body": "", - "status": 200, - "response": { - "name": "mandrill", - "credentials": {}, - "default_from_address": "auth0-user@auth0.com", - "enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", - "body": "", - "status": 200, - "response": { - "total": 10, - "start": 0, - "limit": 100, - "clients": [ - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", - "is_first_party": true, - "oidc_conformant": true, - "sso_disabled": false, - "cross_origin_auth": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "cross_origin_authentication": true, - "allowed_clients": [], - "callbacks": [], - "native_social_login": { - "apple": { - "enabled": false + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Deploy CLI", + "is_first_party": true, + "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "cross_origin_authentication": true, + "allowed_clients": [], + "callbacks": [], + "native_social_login": { + "apple": { + "enabled": false }, "facebook": { "enabled": false @@ -13282,7 +12123,7 @@ "subject": "deprecated" } ], - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13302,9 +12143,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "API Explorer Application", "allowed_clients": [], "callbacks": [], @@ -13338,7 +12176,7 @@ "subject": "deprecated" } ], - "client_id": "eZwzdXan9x27088CTPhLeCSqJK5Qsb5w", + "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13358,9 +12196,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Node App", "allowed_clients": [], "allowed_logout_urls": [], @@ -13396,7 +12231,7 @@ } ], "allowed_origins": [], - "client_id": "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", + "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13420,9 +12255,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Quickstarts API (Test Application)", "client_metadata": { "foo": "bar" @@ -13448,7 +12280,7 @@ "subject": "deprecated" } ], - "client_id": "KBmsLova1QU1cLpNZ5Wst9NexolH66zz", + "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13467,9 +12299,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Terraform Provider", "cross_origin_auth": false, "is_first_party": true, @@ -13492,7 +12321,7 @@ "subject": "deprecated" } ], - "client_id": "GjnPFoLI9mBsl7zVfF1YcuicqzXFGsfP", + "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13511,12 +12340,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -13528,17 +12359,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -13548,7 +12378,7 @@ "subject": "deprecated" } ], - "client_id": "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", + "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13557,12 +12387,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -13570,17 +12403,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -13592,16 +12417,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -13611,7 +12437,7 @@ "subject": "deprecated" } ], - "client_id": "jm6MlJhDC7xIgKBYePEAsFjMtlJ1ScDE", + "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13620,15 +12446,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -13636,9 +12459,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], @@ -13672,7 +12492,7 @@ "subject": "deprecated" } ], - "client_id": "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI", + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13733,17 +12553,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/client-grants?per_page=100&page=0&include_totals=true", + "path": "/api/v2/client-grants?take=50", "body": "", "status": 200, "response": { - "total": 3, - "start": 0, - "limit": 100, "client_grants": [ { - "id": "cgr_FWvBRbi6ftSVCXKS", - "client_id": "GjnPFoLI9mBsl7zVfF1YcuicqzXFGsfP", + "id": "cgr_3AYjjoZPrtNXxpUX", + "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -13880,8 +12697,8 @@ "subject_type": "client" }, { - "id": "cgr_pbwejzhwoujrsNE8", - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "id": "cgr_9BAlRXJOVpDaB7eR", + "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -13908,10 +12725,6 @@ "update:client_keys", "delete:client_keys", "create:client_keys", - "read:client_credentials", - "update:client_credentials", - "delete:client_credentials", - "create:client_credentials", "read:connections", "update:connections", "delete:connections", @@ -14001,19 +12814,10 @@ "read:entitlements", "read:attack_protection", "update:attack_protection", - "read:organizations_summary", - "create:authentication_methods", - "read:authentication_methods", - "update:authentication_methods", - "delete:authentication_methods", "read:organizations", "update:organizations", "create:organizations", "delete:organizations", - "read:organization_discovery_domains", - "update:organization_discovery_domains", - "create:organization_discovery_domains", - "delete:organization_discovery_domains", "create:organization_members", "read:organization_members", "delete:organization_members", @@ -14026,97 +12830,13 @@ "delete:organization_member_roles", "create:organization_invitations", "read:organization_invitations", - "delete:organization_invitations", - "read:scim_config", - "create:scim_config", - "update:scim_config", - "delete:scim_config", - "create:scim_token", - "read:scim_token", - "delete:scim_token", - "delete:phone_providers", - "create:phone_providers", - "read:phone_providers", - "update:phone_providers", - "delete:phone_templates", - "create:phone_templates", - "read:phone_templates", - "update:phone_templates", - "create:encryption_keys", - "read:encryption_keys", - "update:encryption_keys", - "delete:encryption_keys", - "read:sessions", - "update:sessions", - "delete:sessions", - "read:refresh_tokens", - "delete:refresh_tokens", - "create:self_service_profiles", - "read:self_service_profiles", - "update:self_service_profiles", - "delete:self_service_profiles", - "create:sso_access_tickets", - "delete:sso_access_tickets", - "read:forms", - "update:forms", - "delete:forms", - "create:forms", - "read:flows", - "update:flows", - "delete:flows", - "create:flows", - "read:flows_vault", - "read:flows_vault_connections", - "update:flows_vault_connections", - "delete:flows_vault_connections", - "create:flows_vault_connections", - "read:flows_executions", - "delete:flows_executions", - "read:connections_options", - "update:connections_options", - "read:self_service_profile_custom_texts", - "update:self_service_profile_custom_texts", - "create:network_acls", - "update:network_acls", - "read:network_acls", - "delete:network_acls", - "delete:vdcs_templates", - "read:vdcs_templates", - "create:vdcs_templates", - "update:vdcs_templates", - "create:custom_signing_keys", - "read:custom_signing_keys", - "update:custom_signing_keys", - "delete:custom_signing_keys", - "read:federated_connections_tokens", - "delete:federated_connections_tokens", - "create:user_attribute_profiles", - "read:user_attribute_profiles", - "update:user_attribute_profiles", - "delete:user_attribute_profiles", - "read:event_streams", - "create:event_streams", - "delete:event_streams", - "update:event_streams", - "read:event_deliveries", - "update:event_deliveries", - "create:connection_profiles", - "read:connection_profiles", - "update:connection_profiles", - "delete:connection_profiles", - "read:organization_client_grants", - "create:organization_client_grants", - "delete:organization_client_grants", - "read:security_metrics", - "read:connections_keys", - "update:connections_keys", - "create:connections_keys" + "delete:organization_invitations" ], "subject_type": "client" }, { - "id": "cgr_sMnn6UuFajCTdk3u", - "client_id": "eZwzdXan9x27088CTPhLeCSqJK5Qsb5w", + "id": "cgr_pbwejzhwoujrsNE8", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -14143,6 +12863,10 @@ "update:client_keys", "delete:client_keys", "create:client_keys", + "read:client_credentials", + "update:client_credentials", + "delete:client_credentials", + "create:client_credentials", "read:connections", "update:connections", "delete:connections", @@ -14232,10 +12956,19 @@ "read:entitlements", "read:attack_protection", "update:attack_protection", + "read:organizations_summary", + "create:authentication_methods", + "read:authentication_methods", + "update:authentication_methods", + "delete:authentication_methods", "read:organizations", "update:organizations", "create:organizations", "delete:organizations", + "read:organization_discovery_domains", + "update:organization_discovery_domains", + "create:organization_discovery_domains", + "delete:organization_discovery_domains", "create:organization_members", "read:organization_members", "delete:organization_members", @@ -14248,7 +12981,91 @@ "delete:organization_member_roles", "create:organization_invitations", "read:organization_invitations", - "delete:organization_invitations" + "delete:organization_invitations", + "read:scim_config", + "create:scim_config", + "update:scim_config", + "delete:scim_config", + "create:scim_token", + "read:scim_token", + "delete:scim_token", + "delete:phone_providers", + "create:phone_providers", + "read:phone_providers", + "update:phone_providers", + "delete:phone_templates", + "create:phone_templates", + "read:phone_templates", + "update:phone_templates", + "create:encryption_keys", + "read:encryption_keys", + "update:encryption_keys", + "delete:encryption_keys", + "read:sessions", + "update:sessions", + "delete:sessions", + "read:refresh_tokens", + "delete:refresh_tokens", + "create:self_service_profiles", + "read:self_service_profiles", + "update:self_service_profiles", + "delete:self_service_profiles", + "create:sso_access_tickets", + "delete:sso_access_tickets", + "read:forms", + "update:forms", + "delete:forms", + "create:forms", + "read:flows", + "update:flows", + "delete:flows", + "create:flows", + "read:flows_vault", + "read:flows_vault_connections", + "update:flows_vault_connections", + "delete:flows_vault_connections", + "create:flows_vault_connections", + "read:flows_executions", + "delete:flows_executions", + "read:connections_options", + "update:connections_options", + "read:self_service_profile_custom_texts", + "update:self_service_profile_custom_texts", + "create:network_acls", + "update:network_acls", + "read:network_acls", + "delete:network_acls", + "delete:vdcs_templates", + "read:vdcs_templates", + "create:vdcs_templates", + "update:vdcs_templates", + "create:custom_signing_keys", + "read:custom_signing_keys", + "update:custom_signing_keys", + "delete:custom_signing_keys", + "read:federated_connections_tokens", + "delete:federated_connections_tokens", + "create:user_attribute_profiles", + "read:user_attribute_profiles", + "update:user_attribute_profiles", + "delete:user_attribute_profiles", + "read:event_streams", + "create:event_streams", + "delete:event_streams", + "update:event_streams", + "read:event_deliveries", + "update:event_deliveries", + "create:connection_profiles", + "read:connection_profiles", + "update:connection_profiles", + "delete:connection_profiles", + "read:organization_client_grants", + "create:organization_client_grants", + "delete:organization_client_grants", + "read:security_metrics", + "read:connections_keys", + "update:connections_keys", + "create:connections_keys" ], "subject_type": "client" } @@ -14266,22 +13083,22 @@ "response": { "roles": [ { - "id": "rol_4BDf23iFJRSAfWkE", + "id": "rol_QuDH6eKysxE8ilL9", "name": "Admin", "description": "Can read and write things" }, { - "id": "rol_81RrNH8R5oCDnBUG", + "id": "rol_3OJzKOu3TsUKCvFO", "name": "Reader", "description": "Can only read things" }, { - "id": "rol_v44pj0PGL7Gq9FQC", + "id": "rol_dqwrzyi9Bx9QmZ3E", "name": "read_only", "description": "Read Only" }, { - "id": "rol_CyaPmtQRfUFB7rxL", + "id": "rol_tcKxqeYyc6Eqp7Jb", "name": "read_osnly", "description": "Readz Only" } @@ -14296,7 +13113,67 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_4BDf23iFJRSAfWkE/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_QuDH6eKysxE8ilL9/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_QuDH6eKysxE8ilL9/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_3OJzKOu3TsUKCvFO/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_3OJzKOu3TsUKCvFO/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_dqwrzyi9Bx9QmZ3E/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -14311,7 +13188,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_81RrNH8R5oCDnBUG/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_dqwrzyi9Bx9QmZ3E/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -14326,7 +13203,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_v44pj0PGL7Gq9FQC/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_tcKxqeYyc6Eqp7Jb/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -14341,7 +13218,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_CyaPmtQRfUFB7rxL/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_tcKxqeYyc6Eqp7Jb/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -14356,13 +13233,18 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations?include_totals=true", + "path": "/api/v2/organizations?take=50", "body": "", "status": 200, "response": { "organizations": [ { - "id": "org_VF8F48N4jwlx9iqb", + "id": "org_JrXRxTbTrRdicEcf", + "name": "org2", + "display_name": "Organization2" + }, + { + "id": "org_PCcwQ9qOcuJfWkEL", "name": "org1", "display_name": "Organization", "branding": { @@ -14371,16 +13253,8 @@ "primary": "#57ddff" } } - }, - { - "id": "org_9YMsat8TwkngWftp", - "name": "org2", - "display_name": "Organization2" } - ], - "start": 0, - "limit": 50, - "total": 2 + ] }, "rawHeaders": [], "responseIsBinary": false @@ -14481,7 +13355,7 @@ "subject": "deprecated" } ], - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14501,9 +13375,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "API Explorer Application", "allowed_clients": [], "callbacks": [], @@ -14537,7 +13408,7 @@ "subject": "deprecated" } ], - "client_id": "eZwzdXan9x27088CTPhLeCSqJK5Qsb5w", + "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14557,9 +13428,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Node App", "allowed_clients": [], "allowed_logout_urls": [], @@ -14595,7 +13463,7 @@ } ], "allowed_origins": [], - "client_id": "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", + "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14619,9 +13487,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Quickstarts API (Test Application)", "client_metadata": { "foo": "bar" @@ -14647,7 +13512,7 @@ "subject": "deprecated" } ], - "client_id": "KBmsLova1QU1cLpNZ5Wst9NexolH66zz", + "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14666,9 +13531,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Terraform Provider", "cross_origin_auth": false, "is_first_party": true, @@ -14691,7 +13553,7 @@ "subject": "deprecated" } ], - "client_id": "GjnPFoLI9mBsl7zVfF1YcuicqzXFGsfP", + "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14710,12 +13572,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -14727,17 +13591,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -14747,7 +13610,7 @@ "subject": "deprecated" } ], - "client_id": "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", + "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14756,12 +13619,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -14769,17 +13635,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -14791,16 +13649,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -14810,7 +13669,7 @@ "subject": "deprecated" } ], - "client_id": "jm6MlJhDC7xIgKBYePEAsFjMtlJ1ScDE", + "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14819,15 +13678,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -14835,9 +13691,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], @@ -14871,7 +13724,7 @@ "subject": "deprecated" } ], - "client_id": "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI", + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14932,28 +13785,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations?include_totals=true&take=50", + "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "organizations": [ - { - "id": "org_VF8F48N4jwlx9iqb", - "name": "org1", - "display_name": "Organization", - "branding": { - "colors": { - "page_background": "#fff5f5", - "primary": "#57ddff" - } - } - }, - { - "id": "org_9YMsat8TwkngWftp", - "name": "org2", - "display_name": "Organization2" - } - ] + "enabled_connections": [], + "start": 0, + "limit": 0, + "total": 0 }, "rawHeaders": [], "responseIsBinary": false @@ -14961,23 +13800,43 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_VF8F48N4jwlx9iqb/enabled_connections", + "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, - "response": [], + "response": { + "enabled_connections": [], + "start": 0, + "limit": 0, + "total": 0 + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_VF8F48N4jwlx9iqb/client-grants?page=0&per_page=100&include_totals=true", + "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { "client_grants": [], "start": 0, - "limit": 100, + "limit": 50, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/client-grants?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "client_grants": [], + "start": 0, + "limit": 50, "total": 0 }, "rawHeaders": [], @@ -14986,7 +13845,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_VF8F48N4jwlx9iqb/discovery-domains?take=50", + "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -14998,23 +13857,25 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_9YMsat8TwkngWftp/enabled_connections", + "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/discovery-domains?take=50", "body": "", "status": 200, - "response": [], + "response": { + "domains": [] + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_9YMsat8TwkngWftp/client-grants?page=0&per_page=100&include_totals=true", + "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "client_grants": [], + "enabled_connections": [], "start": 0, - "limit": 100, + "limit": 0, "total": 0 }, "rawHeaders": [], @@ -15023,11 +13884,29 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_9YMsat8TwkngWftp/discovery-domains?take=50", + "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "domains": [] + "enabled_connections": [], + "start": 0, + "limit": 0, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/client-grants?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "client_grants": [], + "start": 0, + "limit": 50, + "total": 0 }, "rawHeaders": [], "responseIsBinary": false @@ -15035,16 +13914,52 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true", + "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "total": 3, + "client_grants": [], "start": 0, "limit": 50, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/discovery-domains?take=50", + "body": "", + "status": 200, + "response": { + "domains": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/discovery-domains?take=50", + "body": "", + "status": 200, + "response": { + "domains": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections?take=50", + "body": "", + "status": 200, + "response": { "connections": [ { - "id": "con_ztvlJaf7zhCaAC7v", + "id": "con_gSK3HKh000WR2Yg5", "options": { "mfa": { "active": true, @@ -15100,12 +14015,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" + "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" ] }, { - "id": "con_6tyEu2hOP8JuHJku", + "id": "con_TZft9UmXrtdJXHZN", "options": { "email": true, "scope": [ @@ -15121,12 +14036,12 @@ "google-oauth2" ], "enabled_clients": [ - "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" + "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", + "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" ] }, { - "id": "con_85Lq3efegcuZcVni", + "id": "con_YQIQ8h72LqqSXD75", "options": { "mfa": { "active": true, @@ -15157,7 +14072,7 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ] } ] @@ -15168,779 +14083,119 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50", + "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { - "connections": [ + "total": 10, + "start": 0, + "limit": 100, + "clients": [ { - "id": "con_ztvlJaf7zhCaAC7v", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Deploy CLI", + "is_first_party": true, + "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "cross_origin_authentication": true, + "allowed_clients": [], + "callbacks": [], + "native_social_login": { + "apple": { + "enabled": false }, - "enabledDatabaseCustomization": true + "facebook": { + "enabled": false + } }, - "strategy": "auth0", - "name": "boo-baz-db-connection-test", - "is_domain_connection": false, - "realms": [ - "boo-baz-db-connection-test" + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "enabled_clients": [ - "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" - ] - }, - { - "id": "con_6tyEu2hOP8JuHJku", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "realms": [ - "google-oauth2" + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials", + "implicit", + "authorization_code", + "refresh_token" ], - "enabled_clients": [ - "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" - ] + "custom_login_page_on": true }, { - "id": "con_85Lq3efegcuZcVni", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "async_approval_notification_channels": [ + "guardian-push" + ], + "name": "Default App", + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/client-grants?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "total": 3, - "start": 0, - "limit": 100, - "client_grants": [ - { - "id": "cgr_FWvBRbi6ftSVCXKS", - "client_id": "GjnPFoLI9mBsl7zVfF1YcuicqzXFGsfP", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" ], - "subject_type": "client" - }, - { - "id": "cgr_pbwejzhwoujrsNE8", - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:client_credentials", - "update:client_credentials", - "delete:client_credentials", - "create:client_credentials", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations_summary", - "create:authentication_methods", - "read:authentication_methods", - "update:authentication_methods", - "delete:authentication_methods", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "read:organization_discovery_domains", - "update:organization_discovery_domains", - "create:organization_discovery_domains", - "delete:organization_discovery_domains", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations", - "read:scim_config", - "create:scim_config", - "update:scim_config", - "delete:scim_config", - "create:scim_token", - "read:scim_token", - "delete:scim_token", - "delete:phone_providers", - "create:phone_providers", - "read:phone_providers", - "update:phone_providers", - "delete:phone_templates", - "create:phone_templates", - "read:phone_templates", - "update:phone_templates", - "create:encryption_keys", - "read:encryption_keys", - "update:encryption_keys", - "delete:encryption_keys", - "read:sessions", - "update:sessions", - "delete:sessions", - "read:refresh_tokens", - "delete:refresh_tokens", - "create:self_service_profiles", - "read:self_service_profiles", - "update:self_service_profiles", - "delete:self_service_profiles", - "create:sso_access_tickets", - "delete:sso_access_tickets", - "read:forms", - "update:forms", - "delete:forms", - "create:forms", - "read:flows", - "update:flows", - "delete:flows", - "create:flows", - "read:flows_vault", - "read:flows_vault_connections", - "update:flows_vault_connections", - "delete:flows_vault_connections", - "create:flows_vault_connections", - "read:flows_executions", - "delete:flows_executions", - "read:connections_options", - "update:connections_options", - "read:self_service_profile_custom_texts", - "update:self_service_profile_custom_texts", - "create:network_acls", - "update:network_acls", - "read:network_acls", - "delete:network_acls", - "delete:vdcs_templates", - "read:vdcs_templates", - "create:vdcs_templates", - "update:vdcs_templates", - "create:custom_signing_keys", - "read:custom_signing_keys", - "update:custom_signing_keys", - "delete:custom_signing_keys", - "read:federated_connections_tokens", - "delete:federated_connections_tokens", - "create:user_attribute_profiles", - "read:user_attribute_profiles", - "update:user_attribute_profiles", - "delete:user_attribute_profiles", - "read:event_streams", - "create:event_streams", - "delete:event_streams", - "update:event_streams", - "read:event_deliveries", - "update:event_deliveries", - "create:connection_profiles", - "read:connection_profiles", - "update:connection_profiles", - "delete:connection_profiles", - "read:organization_client_grants", - "create:organization_client_grants", - "delete:organization_client_grants", - "read:security_metrics", - "read:connections_keys", - "update:connections_keys", - "create:connections_keys" - ], - "subject_type": "client" - }, - { - "id": "cgr_sMnn6UuFajCTdk3u", - "client_id": "eZwzdXan9x27088CTPhLeCSqJK5Qsb5w", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" - ], - "subject_type": "client" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", - "body": "", - "status": 200, - "response": { - "total": 10, - "start": 0, - "limit": 100, - "clients": [ - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", - "is_first_party": true, - "oidc_conformant": true, - "sso_disabled": false, - "cross_origin_auth": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "cross_origin_authentication": true, - "allowed_clients": [], - "callbacks": [], - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials", - "implicit", - "authorization_code", - "refresh_token" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "Default App", - "callbacks": [], - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true + "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "API Explorer Application", "allowed_clients": [], "callbacks": [], @@ -15974,7 +14229,7 @@ "subject": "deprecated" } ], - "client_id": "eZwzdXan9x27088CTPhLeCSqJK5Qsb5w", + "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -15994,9 +14249,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Node App", "allowed_clients": [], "allowed_logout_urls": [], @@ -16032,7 +14284,7 @@ } ], "allowed_origins": [], - "client_id": "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", + "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -16056,9 +14308,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Quickstarts API (Test Application)", "client_metadata": { "foo": "bar" @@ -16084,7 +14333,7 @@ "subject": "deprecated" } ], - "client_id": "KBmsLova1QU1cLpNZ5Wst9NexolH66zz", + "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -16103,9 +14352,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Terraform Provider", "cross_origin_auth": false, "is_first_party": true, @@ -16128,7 +14374,7 @@ "subject": "deprecated" } ], - "client_id": "GjnPFoLI9mBsl7zVfF1YcuicqzXFGsfP", + "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -16147,9 +14393,69 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "none", + "app_type": "spa", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, "name": "The Default App", "allowed_clients": [], "callbacks": [], @@ -16184,7 +14490,7 @@ "subject": "deprecated" } ], - "client_id": "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", + "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -16206,17 +14512,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "Test SPA", + "name": "auth0-deploy-cli-extension", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -16230,13 +14528,13 @@ }, "oidc_conformant": true, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" }, "sso_disabled": false, "cross_origin_authentication": false, @@ -16247,7 +14545,7 @@ "subject": "deprecated" } ], - "client_id": "jm6MlJhDC7xIgKBYePEAsFjMtlJ1ScDE", + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -16256,110 +14554,573 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" + "client_credentials" ], - "web_origins": [ - "http://localhost:3000" + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": true, + "callbacks": [], + "is_first_party": true, + "name": "All Applications", + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" + ], + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/client-grants?take=50", + "body": "", + "status": 200, + "response": { + "client_grants": [ + { + "id": "cgr_3AYjjoZPrtNXxpUX", + "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" ], - "custom_login_page_on": true + "subject_type": "client" }, { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" + "id": "cgr_9BAlRXJOVpDaB7eR", + "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" ], - "custom_login_page_on": true + "subject_type": "client" }, { - "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], - "is_first_party": true, - "name": "All Applications", - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } + "id": "cgr_pbwejzhwoujrsNE8", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:client_credentials", + "update:client_credentials", + "delete:client_credentials", + "create:client_credentials", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations_summary", + "create:authentication_methods", + "read:authentication_methods", + "update:authentication_methods", + "delete:authentication_methods", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "read:organization_discovery_domains", + "update:organization_discovery_domains", + "create:organization_discovery_domains", + "delete:organization_discovery_domains", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations", + "read:scim_config", + "create:scim_config", + "update:scim_config", + "delete:scim_config", + "create:scim_token", + "read:scim_token", + "delete:scim_token", + "delete:phone_providers", + "create:phone_providers", + "read:phone_providers", + "update:phone_providers", + "delete:phone_templates", + "create:phone_templates", + "read:phone_templates", + "update:phone_templates", + "create:encryption_keys", + "read:encryption_keys", + "update:encryption_keys", + "delete:encryption_keys", + "read:sessions", + "update:sessions", + "delete:sessions", + "read:refresh_tokens", + "delete:refresh_tokens", + "create:self_service_profiles", + "read:self_service_profiles", + "update:self_service_profiles", + "delete:self_service_profiles", + "create:sso_access_tickets", + "delete:sso_access_tickets", + "read:forms", + "update:forms", + "delete:forms", + "create:forms", + "read:flows", + "update:flows", + "delete:flows", + "create:flows", + "read:flows_vault", + "read:flows_vault_connections", + "update:flows_vault_connections", + "delete:flows_vault_connections", + "create:flows_vault_connections", + "read:flows_executions", + "delete:flows_executions", + "read:connections_options", + "update:connections_options", + "read:self_service_profile_custom_texts", + "update:self_service_profile_custom_texts", + "create:network_acls", + "update:network_acls", + "read:network_acls", + "delete:network_acls", + "delete:vdcs_templates", + "read:vdcs_templates", + "create:vdcs_templates", + "update:vdcs_templates", + "create:custom_signing_keys", + "read:custom_signing_keys", + "update:custom_signing_keys", + "delete:custom_signing_keys", + "read:federated_connections_tokens", + "delete:federated_connections_tokens", + "create:user_attribute_profiles", + "read:user_attribute_profiles", + "update:user_attribute_profiles", + "delete:user_attribute_profiles", + "read:event_streams", + "create:event_streams", + "delete:event_streams", + "update:event_streams", + "read:event_deliveries", + "update:event_deliveries", + "create:connection_profiles", + "read:connection_profiles", + "update:connection_profiles", + "delete:connection_profiles", + "read:organization_client_grants", + "create:organization_client_grants", + "delete:organization_client_grants", + "read:security_metrics", + "read:connections_keys", + "update:connections_keys", + "create:connections_keys" ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true + "subject_type": "client" } ] }, @@ -16374,7 +15135,7 @@ "status": 200, "response": [ { - "id": "lst_0000000000024850", + "id": "lst_0000000000025177", "name": "Suspended DD Log Stream", "type": "datadog", "status": "active", @@ -16385,14 +15146,14 @@ "isPriority": false }, { - "id": "lst_0000000000024851", + "id": "lst_0000000000025178", "name": "Amazon EventBridge", "type": "eventbridge", "status": "active", "sink": { "awsAccountId": "123456789012", "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-64398cc2-e658-4da6-af38-c7874b6b043d/auth0.logs" + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-c1366744-b33c-4125-b8c0-625b40865581/auth0.logs" }, "filters": [ { @@ -16508,6 +15269,7 @@ }, "identifier_first": true }, + "resource_parameter_profile": "audience", "session_cookie": { "mode": "non-persistent" } @@ -16667,6 +15429,7 @@ "page_background": "#222221" } }, + "resource_parameter_profile": "audience", "session_cookie": { "mode": "non-persistent" }, @@ -17724,7 +16487,7 @@ "subject": "deprecated" } ], - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -17744,9 +16507,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "API Explorer Application", "allowed_clients": [], "callbacks": [], @@ -17780,7 +16540,7 @@ "subject": "deprecated" } ], - "client_id": "eZwzdXan9x27088CTPhLeCSqJK5Qsb5w", + "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -17800,9 +16560,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Node App", "allowed_clients": [], "allowed_logout_urls": [], @@ -17838,7 +16595,7 @@ } ], "allowed_origins": [], - "client_id": "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", + "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -17862,9 +16619,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Quickstarts API (Test Application)", "client_metadata": { "foo": "bar" @@ -17890,7 +16644,7 @@ "subject": "deprecated" } ], - "client_id": "KBmsLova1QU1cLpNZ5Wst9NexolH66zz", + "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -17909,9 +16663,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Terraform Provider", "cross_origin_auth": false, "is_first_party": true, @@ -17934,7 +16685,7 @@ "subject": "deprecated" } ], - "client_id": "GjnPFoLI9mBsl7zVfF1YcuicqzXFGsfP", + "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -17953,12 +16704,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -17970,17 +16723,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -17990,7 +16742,7 @@ "subject": "deprecated" } ], - "client_id": "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", + "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -17999,12 +16751,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -18012,17 +16767,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -18034,16 +16781,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -18053,7 +16801,7 @@ "subject": "deprecated" } ], - "client_id": "jm6MlJhDC7xIgKBYePEAsFjMtlJ1ScDE", + "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -18062,15 +16810,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -18078,9 +16823,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], @@ -18114,7 +16856,7 @@ "subject": "deprecated" } ], - "client_id": "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI", + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -18138,16 +16880,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&strategy=auth0", + "path": "/api/v2/connections?take=50&strategy=auth0", "body": "", "status": 200, "response": { - "total": 2, - "start": 0, - "limit": 50, "connections": [ { - "id": "con_ztvlJaf7zhCaAC7v", + "id": "con_gSK3HKh000WR2Yg5", "options": { "mfa": { "active": true, @@ -18203,12 +16942,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" + "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" ] }, { - "id": "con_85Lq3efegcuZcVni", + "id": "con_YQIQ8h72LqqSXD75", "options": { "mfa": { "active": true, @@ -18239,7 +16978,7 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ] } ] @@ -18250,106 +16989,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50&strategy=auth0", + "path": "/api/v2/connections/con_gSK3HKh000WR2Yg5/clients?take=50", "body": "", "status": 200, "response": { - "connections": [ + "clients": [ { - "id": "con_ztvlJaf7zhCaAC7v", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true - }, - "strategy": "auth0", - "name": "boo-baz-db-connection-test", - "is_domain_connection": false, - "realms": [ - "boo-baz-db-connection-test" - ], - "enabled_clients": [ - "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" - ] + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" }, { - "id": "con_85Lq3efegcuZcVni", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" - ] + "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K" } ] }, @@ -18359,16 +17008,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_ztvlJaf7zhCaAC7v/clients?take=50", + "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" }, { - "client_id": "SrN1EUDvsQo826qtaOqWlxMRN5y08alc" + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" } ] }, @@ -18378,149 +17027,35 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_85Lq3efegcuZcVni/clients?take=50", + "path": "/api/v2/connections/con_gSK3HKh000WR2Yg5/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" }, { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K" } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?include_totals=true", - "body": "", - "status": 200, - "response": { - "total": 3, - "start": 0, - "limit": 50, - "connections": [ - { - "id": "con_ztvlJaf7zhCaAC7v", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true - }, - "strategy": "auth0", - "name": "boo-baz-db-connection-test", - "is_domain_connection": false, - "realms": [ - "boo-baz-db-connection-test" - ], - "enabled_clients": [ - "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" - ] - }, + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75/clients?take=50", + "body": "", + "status": 200, + "response": { + "clients": [ { - "id": "con_6tyEu2hOP8JuHJku", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "realms": [ - "google-oauth2" - ], - "enabled_clients": [ - "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" - ] + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" }, { - "id": "con_85Lq3efegcuZcVni", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" - ] + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" } ] }, @@ -18530,13 +17065,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50", + "path": "/api/v2/connections?take=50", "body": "", "status": 200, "response": { "connections": [ { - "id": "con_ztvlJaf7zhCaAC7v", + "id": "con_gSK3HKh000WR2Yg5", "options": { "mfa": { "active": true, @@ -18592,12 +17127,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" + "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" ] }, { - "id": "con_6tyEu2hOP8JuHJku", + "id": "con_TZft9UmXrtdJXHZN", "options": { "email": true, "scope": [ @@ -18613,12 +17148,12 @@ "google-oauth2" ], "enabled_clients": [ - "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", - "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" + "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", + "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" ] }, { - "id": "con_85Lq3efegcuZcVni", + "id": "con_YQIQ8h72LqqSXD75", "options": { "mfa": { "active": true, @@ -18649,7 +17184,7 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ] } ] @@ -18660,16 +17195,35 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_6tyEu2hOP8JuHJku/clients?take=50", + "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN/clients?take=50", + "body": "", + "status": 200, + "response": { + "clients": [ + { + "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU" + }, + { + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI" + "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU" }, { - "client_id": "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw" + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" } ] }, @@ -18735,6 +17289,7 @@ "page_background": "#222221" } }, + "resource_parameter_profile": "audience", "session_cookie": { "mode": "non-persistent" }, @@ -18798,18 +17353,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/welcome_email", + "path": "/api/v2/email-templates/change_password", "body": "", - "status": 200, + "status": 404, "response": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" }, "rawHeaders": [], "responseIsBinary": false @@ -18817,7 +17368,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/enrollment_email", + "path": "/api/v2/email-templates/reset_email", "body": "", "status": 404, "response": { @@ -18847,7 +17398,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/change_password", + "path": "/api/v2/email-templates/stolen_credentials", "body": "", "status": 404, "response": { @@ -18862,7 +17413,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/password_reset", + "path": "/api/v2/email-templates/async_approval", "body": "", "status": 404, "response": { @@ -18877,7 +17428,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/blocked_account", + "path": "/api/v2/email-templates/password_reset", "body": "", "status": 404, "response": { @@ -18892,7 +17443,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/async_approval", + "path": "/api/v2/email-templates/reset_email_by_code", "body": "", "status": 404, "response": { @@ -18907,7 +17458,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/user_invitation", + "path": "/api/v2/email-templates/blocked_account", "body": "", "status": 404, "response": { @@ -18922,7 +17473,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email", + "path": "/api/v2/email-templates/user_invitation", "body": "", "status": 404, "response": { @@ -18937,14 +17488,18 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email_by_code", + "path": "/api/v2/email-templates/welcome_email", "body": "", - "status": 404, + "status": 200, "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "from": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", + "syntax": "liquid", + "urlLifetimeInSeconds": 3600, + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -18952,7 +17507,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/stolen_credentials", + "path": "/api/v2/email-templates/enrollment_email", "body": "", "status": 404, "response": { @@ -18967,17 +17522,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/client-grants?per_page=100&page=0&include_totals=true", + "path": "/api/v2/client-grants?take=50", "body": "", "status": 200, "response": { - "total": 3, - "start": 0, - "limit": 100, "client_grants": [ { - "id": "cgr_FWvBRbi6ftSVCXKS", - "client_id": "GjnPFoLI9mBsl7zVfF1YcuicqzXFGsfP", + "id": "cgr_3AYjjoZPrtNXxpUX", + "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -19114,8 +17666,8 @@ "subject_type": "client" }, { - "id": "cgr_pbwejzhwoujrsNE8", - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "id": "cgr_9BAlRXJOVpDaB7eR", + "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -19142,10 +17694,6 @@ "update:client_keys", "delete:client_keys", "create:client_keys", - "read:client_credentials", - "update:client_credentials", - "delete:client_credentials", - "create:client_credentials", "read:connections", "update:connections", "delete:connections", @@ -19235,19 +17783,10 @@ "read:entitlements", "read:attack_protection", "update:attack_protection", - "read:organizations_summary", - "create:authentication_methods", - "read:authentication_methods", - "update:authentication_methods", - "delete:authentication_methods", "read:organizations", "update:organizations", "create:organizations", "delete:organizations", - "read:organization_discovery_domains", - "update:organization_discovery_domains", - "create:organization_discovery_domains", - "delete:organization_discovery_domains", "create:organization_members", "read:organization_members", "delete:organization_members", @@ -19260,97 +17799,13 @@ "delete:organization_member_roles", "create:organization_invitations", "read:organization_invitations", - "delete:organization_invitations", - "read:scim_config", - "create:scim_config", - "update:scim_config", - "delete:scim_config", - "create:scim_token", - "read:scim_token", - "delete:scim_token", - "delete:phone_providers", - "create:phone_providers", - "read:phone_providers", - "update:phone_providers", - "delete:phone_templates", - "create:phone_templates", - "read:phone_templates", - "update:phone_templates", - "create:encryption_keys", - "read:encryption_keys", - "update:encryption_keys", - "delete:encryption_keys", - "read:sessions", - "update:sessions", - "delete:sessions", - "read:refresh_tokens", - "delete:refresh_tokens", - "create:self_service_profiles", - "read:self_service_profiles", - "update:self_service_profiles", - "delete:self_service_profiles", - "create:sso_access_tickets", - "delete:sso_access_tickets", - "read:forms", - "update:forms", - "delete:forms", - "create:forms", - "read:flows", - "update:flows", - "delete:flows", - "create:flows", - "read:flows_vault", - "read:flows_vault_connections", - "update:flows_vault_connections", - "delete:flows_vault_connections", - "create:flows_vault_connections", - "read:flows_executions", - "delete:flows_executions", - "read:connections_options", - "update:connections_options", - "read:self_service_profile_custom_texts", - "update:self_service_profile_custom_texts", - "create:network_acls", - "update:network_acls", - "read:network_acls", - "delete:network_acls", - "delete:vdcs_templates", - "read:vdcs_templates", - "create:vdcs_templates", - "update:vdcs_templates", - "create:custom_signing_keys", - "read:custom_signing_keys", - "update:custom_signing_keys", - "delete:custom_signing_keys", - "read:federated_connections_tokens", - "delete:federated_connections_tokens", - "create:user_attribute_profiles", - "read:user_attribute_profiles", - "update:user_attribute_profiles", - "delete:user_attribute_profiles", - "read:event_streams", - "create:event_streams", - "delete:event_streams", - "update:event_streams", - "read:event_deliveries", - "update:event_deliveries", - "create:connection_profiles", - "read:connection_profiles", - "update:connection_profiles", - "delete:connection_profiles", - "read:organization_client_grants", - "create:organization_client_grants", - "delete:organization_client_grants", - "read:security_metrics", - "read:connections_keys", - "update:connections_keys", - "create:connections_keys" + "delete:organization_invitations" ], "subject_type": "client" }, { - "id": "cgr_sMnn6UuFajCTdk3u", - "client_id": "eZwzdXan9x27088CTPhLeCSqJK5Qsb5w", + "id": "cgr_pbwejzhwoujrsNE8", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -19377,6 +17832,10 @@ "update:client_keys", "delete:client_keys", "create:client_keys", + "read:client_credentials", + "update:client_credentials", + "delete:client_credentials", + "create:client_credentials", "read:connections", "update:connections", "delete:connections", @@ -19466,10 +17925,19 @@ "read:entitlements", "read:attack_protection", "update:attack_protection", + "read:organizations_summary", + "create:authentication_methods", + "read:authentication_methods", + "update:authentication_methods", + "delete:authentication_methods", "read:organizations", "update:organizations", "create:organizations", "delete:organizations", + "read:organization_discovery_domains", + "update:organization_discovery_domains", + "create:organization_discovery_domains", + "delete:organization_discovery_domains", "create:organization_members", "read:organization_members", "delete:organization_members", @@ -19482,7 +17950,91 @@ "delete:organization_member_roles", "create:organization_invitations", "read:organization_invitations", - "delete:organization_invitations" + "delete:organization_invitations", + "read:scim_config", + "create:scim_config", + "update:scim_config", + "delete:scim_config", + "create:scim_token", + "read:scim_token", + "delete:scim_token", + "delete:phone_providers", + "create:phone_providers", + "read:phone_providers", + "update:phone_providers", + "delete:phone_templates", + "create:phone_templates", + "read:phone_templates", + "update:phone_templates", + "create:encryption_keys", + "read:encryption_keys", + "update:encryption_keys", + "delete:encryption_keys", + "read:sessions", + "update:sessions", + "delete:sessions", + "read:refresh_tokens", + "delete:refresh_tokens", + "create:self_service_profiles", + "read:self_service_profiles", + "update:self_service_profiles", + "delete:self_service_profiles", + "create:sso_access_tickets", + "delete:sso_access_tickets", + "read:forms", + "update:forms", + "delete:forms", + "create:forms", + "read:flows", + "update:flows", + "delete:flows", + "create:flows", + "read:flows_vault", + "read:flows_vault_connections", + "update:flows_vault_connections", + "delete:flows_vault_connections", + "create:flows_vault_connections", + "read:flows_executions", + "delete:flows_executions", + "read:connections_options", + "update:connections_options", + "read:self_service_profile_custom_texts", + "update:self_service_profile_custom_texts", + "create:network_acls", + "update:network_acls", + "read:network_acls", + "delete:network_acls", + "delete:vdcs_templates", + "read:vdcs_templates", + "create:vdcs_templates", + "update:vdcs_templates", + "create:custom_signing_keys", + "read:custom_signing_keys", + "update:custom_signing_keys", + "delete:custom_signing_keys", + "read:federated_connections_tokens", + "delete:federated_connections_tokens", + "create:user_attribute_profiles", + "read:user_attribute_profiles", + "update:user_attribute_profiles", + "delete:user_attribute_profiles", + "read:event_streams", + "create:event_streams", + "delete:event_streams", + "update:event_streams", + "read:event_deliveries", + "update:event_deliveries", + "create:connection_profiles", + "read:connection_profiles", + "update:connection_profiles", + "delete:connection_profiles", + "read:organization_client_grants", + "create:organization_client_grants", + "delete:organization_client_grants", + "read:security_metrics", + "read:connections_keys", + "update:connections_keys", + "create:connections_keys" ], "subject_type": "client" } @@ -19545,7 +18097,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/guardian/factors/push-notification/providers/sns", + "path": "/api/v2/guardian/factors/sms/providers/twilio", "body": "", "status": 200, "response": {}, @@ -19555,7 +18107,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/guardian/factors/sms/providers/twilio", + "path": "/api/v2/guardian/factors/push-notification/providers/sns", "body": "", "status": 200, "response": {}, @@ -19618,22 +18170,22 @@ "response": { "roles": [ { - "id": "rol_4BDf23iFJRSAfWkE", + "id": "rol_QuDH6eKysxE8ilL9", "name": "Admin", "description": "Can read and write things" }, { - "id": "rol_81RrNH8R5oCDnBUG", + "id": "rol_3OJzKOu3TsUKCvFO", "name": "Reader", "description": "Can only read things" }, { - "id": "rol_v44pj0PGL7Gq9FQC", + "id": "rol_dqwrzyi9Bx9QmZ3E", "name": "read_only", "description": "Read Only" }, { - "id": "rol_CyaPmtQRfUFB7rxL", + "id": "rol_tcKxqeYyc6Eqp7Jb", "name": "read_osnly", "description": "Readz Only" } @@ -19648,7 +18200,67 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_4BDf23iFJRSAfWkE/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_QuDH6eKysxE8ilL9/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_QuDH6eKysxE8ilL9/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_3OJzKOu3TsUKCvFO/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_3OJzKOu3TsUKCvFO/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_dqwrzyi9Bx9QmZ3E/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -19663,7 +18275,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_81RrNH8R5oCDnBUG/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_dqwrzyi9Bx9QmZ3E/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -19678,7 +18290,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_v44pj0PGL7Gq9FQC/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_tcKxqeYyc6Eqp7Jb/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -19693,7 +18305,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_CyaPmtQRfUFB7rxL/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_tcKxqeYyc6Eqp7Jb/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -19815,6 +18427,7 @@ "page_background": "#222221" } }, + "resource_parameter_profile": "audience", "session_cookie": { "mode": "non-persistent" }, @@ -19920,7 +18533,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/phone-identifier-challenge/custom-text/en", + "path": "/api/v2/prompts/email-identifier-challenge/custom-text/en", "body": "", "status": 200, "response": {}, @@ -19930,7 +18543,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/email-identifier-challenge/custom-text/en", + "path": "/api/v2/prompts/phone-identifier-challenge/custom-text/en", "body": "", "status": 200, "response": {}, @@ -19990,7 +18603,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-push/custom-text/en", + "path": "/api/v2/prompts/mfa-otp/custom-text/en", "body": "", "status": 200, "response": {}, @@ -20000,7 +18613,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-otp/custom-text/en", + "path": "/api/v2/prompts/mfa-push/custom-text/en", "body": "", "status": 200, "response": {}, @@ -20030,7 +18643,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-webauthn/custom-text/en", + "path": "/api/v2/prompts/mfa-sms/custom-text/en", "body": "", "status": 200, "response": {}, @@ -20040,7 +18653,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-sms/custom-text/en", + "path": "/api/v2/prompts/mfa-webauthn/custom-text/en", "body": "", "status": 200, "response": {}, @@ -20080,7 +18693,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/status/custom-text/en", + "path": "/api/v2/prompts/device-flow/custom-text/en", "body": "", "status": 200, "response": {}, @@ -20090,7 +18703,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/device-flow/custom-text/en", + "path": "/api/v2/prompts/status/custom-text/en", "body": "", "status": 200, "response": {}, @@ -20200,7 +18813,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup/partials", + "path": "/api/v2/prompts/login-passwordless/partials", "body": "", "status": 200, "response": {}, @@ -20210,7 +18823,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-passwordless/partials", + "path": "/api/v2/prompts/signup/partials", "body": "", "status": 200, "response": {}, @@ -20246,7 +18859,7 @@ "response": { "actions": [ { - "id": "0ba50458-8f40-4350-a690-484c530cb5c5", + "id": "ada80236-a38c-477e-8607-57fb51c714f6", "name": "My Custom Action", "supported_triggers": [ { @@ -20254,34 +18867,34 @@ "version": "v2" } ], - "created_at": "2025-10-31T14:57:22.321709927Z", - "updated_at": "2025-10-31T14:57:22.333454578Z", + "created_at": "2025-11-18T04:42:09.263480298Z", + "updated_at": "2025-11-18T04:42:09.276813948Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "built", "secrets": [], "current_version": { - "id": "bd05521b-4f4a-4022-8be8-6f77382a55a8", + "id": "dc9201b2-f56a-4205-b914-75d5330688b1", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node18", "status": "BUILT", "number": 1, - "build_time": "2025-10-31T14:57:23.139420848Z", - "created_at": "2025-10-31T14:57:23.082767653Z", - "updated_at": "2025-10-31T14:57:23.139739622Z" + "build_time": "2025-11-18T04:42:10.034576826Z", + "created_at": "2025-11-18T04:42:09.938084833Z", + "updated_at": "2025-11-18T04:42:10.036175645Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "bd05521b-4f4a-4022-8be8-6f77382a55a8", + "id": "dc9201b2-f56a-4205-b914-75d5330688b1", "deployed": true, "number": 1, - "built_at": "2025-10-31T14:57:23.139420848Z", + "built_at": "2025-11-18T04:42:10.034576826Z", "secrets": [], "status": "built", - "created_at": "2025-10-31T14:57:23.082767653Z", - "updated_at": "2025-10-31T14:57:23.139739622Z", + "created_at": "2025-11-18T04:42:09.938084833Z", + "updated_at": "2025-11-18T04:42:10.036175645Z", "runtime": "node18", "supported_triggers": [ { @@ -20312,7 +18925,6 @@ "version": "v3", "status": "CURRENT", "runtimes": [ - "node12", "node18-actions", "node22" ], @@ -20336,12 +18948,22 @@ "binding_policy": "trigger-bound", "compatible_triggers": [] }, + { + "id": "credentials-exchange", + "version": "v1", + "status": "DEPRECATED", + "runtimes": [ + "node12" + ], + "default_runtime": "node12", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, { "id": "credentials-exchange", "version": "v2", "status": "CURRENT", "runtimes": [ - "node12", "node18-actions", "node22" ], @@ -20354,7 +18976,6 @@ "version": "v2", "status": "CURRENT", "runtimes": [ - "node12", "node18-actions", "node22" ], @@ -20362,6 +18983,17 @@ "binding_policy": "trigger-bound", "compatible_triggers": [] }, + { + "id": "post-user-registration", + "version": "v1", + "status": "DEPRECATED", + "runtimes": [ + "node12" + ], + "default_runtime": "node12", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, { "id": "post-user-registration", "version": "v2", @@ -20379,7 +19011,6 @@ "version": "v2", "status": "CURRENT", "runtimes": [ - "node12", "node18-actions", "node22" ], @@ -20489,12 +19120,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/post-login/bindings", + "path": "/api/v2/actions/triggers/post-login/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -20502,12 +19133,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/credentials-exchange/bindings", + "path": "/api/v2/actions/triggers/credentials-exchange/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -20515,12 +19146,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/pre-user-registration/bindings", + "path": "/api/v2/actions/triggers/pre-user-registration/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -20528,12 +19159,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/post-user-registration/bindings", + "path": "/api/v2/actions/triggers/post-user-registration/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -20541,12 +19172,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/post-change-password/bindings", + "path": "/api/v2/actions/triggers/post-change-password/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -20554,12 +19185,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/send-phone-message/bindings", + "path": "/api/v2/actions/triggers/send-phone-message/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -20567,12 +19198,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/password-reset-post-challenge/bindings", + "path": "/api/v2/actions/triggers/password-reset-post-challenge/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -20580,12 +19211,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/login-post-identifier/bindings", + "path": "/api/v2/actions/triggers/login-post-identifier/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -20593,12 +19224,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/custom-phone-provider/bindings", + "path": "/api/v2/actions/triggers/custom-phone-provider/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -20606,12 +19237,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/custom-email-provider/bindings", + "path": "/api/v2/actions/triggers/custom-email-provider/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -20619,12 +19250,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/custom-token-exchange/bindings", + "path": "/api/v2/actions/triggers/custom-token-exchange/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -20632,12 +19263,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/event-stream/bindings", + "path": "/api/v2/actions/triggers/event-stream/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -20645,13 +19276,18 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations?include_totals=true", + "path": "/api/v2/organizations?take=50", "body": "", "status": 200, "response": { "organizations": [ { - "id": "org_VF8F48N4jwlx9iqb", + "id": "org_JrXRxTbTrRdicEcf", + "name": "org2", + "display_name": "Organization2" + }, + { + "id": "org_PCcwQ9qOcuJfWkEL", "name": "org1", "display_name": "Organization", "branding": { @@ -20660,16 +19296,8 @@ "primary": "#57ddff" } } - }, - { - "id": "org_9YMsat8TwkngWftp", - "name": "org2", - "display_name": "Organization2" } - ], - "start": 0, - "limit": 50, - "total": 2 + ] }, "rawHeaders": [], "responseIsBinary": false @@ -20770,7 +19398,7 @@ "subject": "deprecated" } ], - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -20790,9 +19418,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "API Explorer Application", "allowed_clients": [], "callbacks": [], @@ -20826,7 +19451,7 @@ "subject": "deprecated" } ], - "client_id": "eZwzdXan9x27088CTPhLeCSqJK5Qsb5w", + "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -20846,9 +19471,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Node App", "allowed_clients": [], "allowed_logout_urls": [], @@ -20884,7 +19506,7 @@ } ], "allowed_origins": [], - "client_id": "SrN1EUDvsQo826qtaOqWlxMRN5y08alc", + "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -20908,9 +19530,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Quickstarts API (Test Application)", "client_metadata": { "foo": "bar" @@ -20936,7 +19555,7 @@ "subject": "deprecated" } ], - "client_id": "KBmsLova1QU1cLpNZ5Wst9NexolH66zz", + "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -20955,9 +19574,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Terraform Provider", "cross_origin_auth": false, "is_first_party": true, @@ -20980,7 +19596,7 @@ "subject": "deprecated" } ], - "client_id": "GjnPFoLI9mBsl7zVfF1YcuicqzXFGsfP", + "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -20999,12 +19615,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -21016,17 +19634,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -21036,7 +19653,7 @@ "subject": "deprecated" } ], - "client_id": "U2g2JvrBBxa1NUWu7Ycb4dbi7rSClbFw", + "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -21045,12 +19662,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -21058,17 +19678,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -21080,16 +19692,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -21099,7 +19712,7 @@ "subject": "deprecated" } ], - "client_id": "jm6MlJhDC7xIgKBYePEAsFjMtlJ1ScDE", + "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -21108,15 +19721,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -21124,9 +19734,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], @@ -21160,7 +19767,7 @@ "subject": "deprecated" } ], - "client_id": "grQveAtB9mtIO6h9E1dujGHwHDBjVsiI", + "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -21221,28 +19828,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations?include_totals=true&take=50", + "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "organizations": [ - { - "id": "org_VF8F48N4jwlx9iqb", - "name": "org1", - "display_name": "Organization", - "branding": { - "colors": { - "page_background": "#fff5f5", - "primary": "#57ddff" - } - } - }, - { - "id": "org_9YMsat8TwkngWftp", - "name": "org2", - "display_name": "Organization2" - } - ] + "enabled_connections": [], + "start": 0, + "limit": 0, + "total": 0 }, "rawHeaders": [], "responseIsBinary": false @@ -21250,23 +19843,43 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_VF8F48N4jwlx9iqb/enabled_connections", + "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, - "response": [], + "response": { + "enabled_connections": [], + "start": 0, + "limit": 0, + "total": 0 + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_VF8F48N4jwlx9iqb/client-grants?page=0&per_page=100&include_totals=true", + "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { "client_grants": [], "start": 0, - "limit": 100, + "limit": 50, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/client-grants?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "client_grants": [], + "start": 0, + "limit": 50, "total": 0 }, "rawHeaders": [], @@ -21275,7 +19888,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_VF8F48N4jwlx9iqb/discovery-domains?take=50", + "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -21287,23 +19900,70 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_9YMsat8TwkngWftp/enabled_connections", + "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/discovery-domains?take=50", "body": "", "status": 200, - "response": [], + "response": { + "domains": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/enabled_connections?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "enabled_connections": [], + "start": 0, + "limit": 0, + "total": 0 + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_9YMsat8TwkngWftp/client-grants?page=0&per_page=100&include_totals=true", + "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/enabled_connections?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "enabled_connections": [], + "start": 0, + "limit": 0, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { "client_grants": [], "start": 0, - "limit": 100, + "limit": 50, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/client-grants?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "client_grants": [], + "start": 0, + "limit": 50, "total": 0 }, "rawHeaders": [], @@ -21312,7 +19972,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_9YMsat8TwkngWftp/discovery-domains?take=50", + "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -21324,22 +19984,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/attack-protection/breached-password-detection", + "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/discovery-domains?take=50", "body": "", "status": 200, "response": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard", - "stage": { - "pre-user-registration": { - "shields": [] - }, - "pre-change-password": { - "shields": [] - } - } + "domains": [] }, "rawHeaders": [], "responseIsBinary": false @@ -21363,6 +20012,29 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/attack-protection/breached-password-detection", + "body": "", + "status": 200, + "response": { + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard", + "stage": { + "pre-user-registration": { + "shields": [] + }, + "pre-change-password": { + "shields": [] + } + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -21390,6 +20062,58 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/attack-protection/bot-detection", + "body": "", + "status": 200, + "response": { + "challenge_password_policy": "never", + "challenge_passwordless_policy": "never", + "challenge_password_reset_policy": "never", + "allowlist": [], + "bot_detection_level": "medium", + "monitoring_mode_enabled": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/attack-protection/captcha", + "body": "", + "status": 200, + "response": { + "active_provider_id": "auth_challenge", + "simple_captcha": {}, + "auth_challenge": { + "fail_open": false + }, + "recaptcha_v2": { + "site_key": "" + }, + "recaptcha_enterprise": { + "site_key": "", + "project_id": "" + }, + "hcaptcha": { + "site_key": "" + }, + "friendly_captcha": { + "site_key": "" + }, + "arkose": { + "site_key": "", + "client_subdomain": "client-api", + "verify_subdomain": "verify-api", + "fail_open": false + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -21398,7 +20122,7 @@ "status": 200, "response": [ { - "id": "lst_0000000000024850", + "id": "lst_0000000000025177", "name": "Suspended DD Log Stream", "type": "datadog", "status": "active", @@ -21409,14 +20133,14 @@ "isPriority": false }, { - "id": "lst_0000000000024851", + "id": "lst_0000000000025178", "name": "Amazon EventBridge", "type": "eventbridge", "status": "active", "sink": { "awsAccountId": "123456789012", "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-64398cc2-e658-4da6-af38-c7874b6b043d/auth0.logs" + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-c1366744-b33c-4125-b8c0-625b40865581/auth0.logs" }, "filters": [ { @@ -21472,18 +20196,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/custom-domains?take=50", - "body": "", - "status": 200, - "response": { - "custom_domains": [] - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -21530,7 +20242,7 @@ "name": "Blank-form", "flow_count": 0, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-10-31T14:57:47.048Z" + "updated_at": "2025-11-18T04:42:29.394Z" } ] }, @@ -21601,7 +20313,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-10-31T14:57:47.048Z" + "updated_at": "2025-11-18T04:42:29.394Z" }, "rawHeaders": [], "responseIsBinary": false @@ -21609,13 +20321,28 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows/vault/connections?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, "total": 0, + "flows": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "limit": 50, + "start": 0, + "total": 0, "connections": [] }, "rawHeaders": [], @@ -21624,14 +20351,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "limit": 100, + "limit": 50, "start": 0, "total": 0, - "flows": [] + "connections": [] }, "rawHeaders": [], "responseIsBinary": false @@ -21639,11 +20366,26 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows/vault/connections?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "limit": 100, + "limit": 50, + "start": 0, + "total": 0, + "connections": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "limit": 50, "start": 0, "total": 0, "connections": [] @@ -21680,7 +20422,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-10-31T14:57:39.353Z", + "updated_at": "2025-11-18T04:42:23.144Z", "branding": { "colors": { "primary": "#19aecc" @@ -21732,7 +20474,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-10-31T14:57:24.230Z", + "updated_at": "2025-11-18T04:42:10.956Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] @@ -21794,60 +20536,5 @@ }, "rawHeaders": [], "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/user-attribute-profiles?take=50", - "body": "", - "status": 200, - "response": { - "user_attribute_profiles": [ - { - "id": "uap_1csDj3szFsgxGS1oTZTdFm", - "name": "test-user-attribute-profile-2", - "user_id": { - "oidc_mapping": "sub", - "saml_mapping": [ - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" - ], - "scim_mapping": "externalId" - }, - "user_attributes": { - "email": { - "label": "Email", - "description": "Email of the User", - "auth0_mapping": "email", - "profile_required": true - } - } - }, - { - "id": "uap_1csDj3sAVu6n5eTzLw6XZg", - "name": "test-user-attribute-profile", - "user_id": { - "oidc_mapping": "sub", - "saml_mapping": [ - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" - ], - "scim_mapping": "externalId" - }, - "user_attributes": { - "email": { - "label": "Email", - "description": "Email of the User", - "auth0_mapping": "email", - "profile_required": true - } - } - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false } ] \ No newline at end of file diff --git a/test/e2e/recordings/should-deploy-without-throwing-an-error.json b/test/e2e/recordings/should-deploy-without-throwing-an-error.json index 1fe626459..869b18f46 100644 --- a/test/e2e/recordings/should-deploy-without-throwing-an-error.json +++ b/test/e2e/recordings/should-deploy-without-throwing-an-error.json @@ -1044,7 +1044,7 @@ "subject": "deprecated" } ], - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1068,7 +1068,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "path": "/api/v2/clients/wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "body": { "name": "Default App", "callbacks": [], @@ -1129,7 +1129,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1165,7 +1165,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/webauthn-platform", "body": { "enabled": false }, @@ -1179,7 +1179,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/email", + "path": "/api/v2/guardian/factors/webauthn-roaming", "body": { "enabled": false }, @@ -1193,7 +1193,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/push-notification", + "path": "/api/v2/guardian/factors/otp", "body": { "enabled": false }, @@ -1207,7 +1207,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/otp", + "path": "/api/v2/guardian/factors/recovery-code", "body": { "enabled": false }, @@ -1221,7 +1221,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/recovery-code", + "path": "/api/v2/guardian/factors/push-notification", "body": { "enabled": false }, @@ -1235,7 +1235,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-platform", + "path": "/api/v2/guardian/factors/sms", "body": { "enabled": false }, @@ -1249,7 +1249,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", + "path": "/api/v2/guardian/factors/email", "body": { "enabled": false }, @@ -1367,34 +1367,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/breached-password-detection", - "body": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard" - }, - "status": 200, - "response": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard", - "stage": { - "pre-user-registration": { - "shields": [] - }, - "pre-change-password": { - "shields": [] - } - } - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -1441,23 +1413,39 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/custom-domains", - "body": "", + "method": "PATCH", + "path": "/api/v2/attack-protection/breached-password-detection", + "body": { + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard" + }, "status": 200, - "response": [], + "response": { + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard", + "stage": { + "pre-user-registration": { + "shields": [] + }, + "pre-change-password": { + "shields": [] + } + } + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/custom-domains?take=50", + "path": "/api/v2/custom-domains", "body": "", "status": 200, - "response": { - "custom_domains": [] - }, + "response": [], "rawHeaders": [], "responseIsBinary": false }, @@ -1557,7 +1545,7 @@ "subject": "deprecated" } ], - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1618,16 +1606,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&strategy=auth0", + "path": "/api/v2/connections?take=50&strategy=auth0", "body": "", "status": 200, "response": { - "total": 1, - "start": 0, - "limit": 50, "connections": [ { - "id": "con_85Lq3efegcuZcVni", + "id": "con_YQIQ8h72LqqSXD75", "options": { "mfa": { "active": true, @@ -1658,7 +1643,7 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ] } ] @@ -1669,13 +1654,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50&strategy=auth0", + "path": "/api/v2/connections?take=50&strategy=auth0", "body": "", "status": 200, "response": { "connections": [ { - "id": "con_85Lq3efegcuZcVni", + "id": "con_YQIQ8h72LqqSXD75", "options": { "mfa": { "active": true, @@ -1706,7 +1691,7 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ] } ] @@ -1717,96 +1702,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&strategy=auth0", + "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75/clients?take=50", "body": "", "status": 200, "response": { - "total": 1, - "start": 0, - "limit": 50, - "connections": [ + "clients": [ { - "id": "con_85Lq3efegcuZcVni", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50&strategy=auth0", - "body": "", - "status": 200, - "response": { - "connections": [ + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + }, { - "id": "con_85Lq3efegcuZcVni", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" - ] + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" } ] }, @@ -1816,16 +1721,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_85Lq3efegcuZcVni/clients?take=50", + "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" }, { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" } ] }, @@ -1835,11 +1740,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_85Lq3efegcuZcVni", + "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75", "body": "", "status": 200, "response": { - "id": "con_85Lq3efegcuZcVni", + "id": "con_YQIQ8h72LqqSXD75", "options": { "mfa": { "active": true, @@ -1867,7 +1772,7 @@ "is_domain_connection": false, "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ], "realms": [ "Username-Password-Authentication" @@ -1879,11 +1784,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_85Lq3efegcuZcVni", + "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75", "body": { "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ], "is_domain_connection": false, "options": { @@ -1914,7 +1819,7 @@ }, "status": 200, "response": { - "id": "con_85Lq3efegcuZcVni", + "id": "con_YQIQ8h72LqqSXD75", "options": { "mfa": { "active": true, @@ -1942,7 +1847,7 @@ "is_domain_connection": false, "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ], "realms": [ "Username-Password-Authentication" @@ -1954,14 +1859,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_85Lq3efegcuZcVni/clients", + "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75/clients", "body": [ { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "status": true }, { - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "status": true } ], @@ -2066,7 +1971,7 @@ "subject": "deprecated" } ], - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2127,115 +2032,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true", - "body": "", - "status": 200, - "response": { - "total": 1, - "start": 0, - "limit": 50, - "connections": [ - { - "id": "con_85Lq3efegcuZcVni", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50", - "body": "", - "status": 200, - "response": { - "connections": [ - { - "id": "con_85Lq3efegcuZcVni", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?include_totals=true", + "path": "/api/v2/connections?take=50", "body": "", "status": 200, "response": { - "total": 1, - "start": 0, - "limit": 50, "connections": [ { - "id": "con_85Lq3efegcuZcVni", + "id": "con_YQIQ8h72LqqSXD75", "options": { "mfa": { "active": true, @@ -2266,7 +2069,7 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ] } ] @@ -2277,13 +2080,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50", + "path": "/api/v2/connections?take=50", "body": "", "status": 200, "response": { "connections": [ { - "id": "con_85Lq3efegcuZcVni", + "id": "con_YQIQ8h72LqqSXD75", "options": { "mfa": { "active": true, @@ -2314,7 +2117,7 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ] } ] @@ -2331,7 +2134,7 @@ "strategy": "google-oauth2", "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ], "is_domain_connection": false, "options": { @@ -2345,7 +2148,7 @@ }, "status": 201, "response": { - "id": "con_6tyEu2hOP8JuHJku", + "id": "con_TZft9UmXrtdJXHZN", "options": { "email": true, "scope": [ @@ -2359,7 +2162,7 @@ "is_domain_connection": false, "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ], "realms": [ "google-oauth2" @@ -2371,13 +2174,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=1&name=google-oauth2", + "path": "/api/v2/connections?take=1&name=google-oauth2&include_fields=true", "body": "", "status": 200, "response": { "connections": [ { - "id": "con_6tyEu2hOP8JuHJku", + "id": "con_TZft9UmXrtdJXHZN", "options": { "email": true, "scope": [ @@ -2394,7 +2197,7 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ] } ] @@ -2405,14 +2208,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_6tyEu2hOP8JuHJku/clients", + "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN/clients", "body": [ { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "status": true }, { - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "status": true } ], @@ -2532,7 +2335,7 @@ "subject": "deprecated" } ], - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2593,13 +2396,10 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/client-grants?per_page=100&page=0&include_totals=true", + "path": "/api/v2/client-grants?take=50", "body": "", "status": 200, "response": { - "total": 1, - "start": 0, - "limit": 100, "client_grants": [ { "id": "cgr_pbwejzhwoujrsNE8", @@ -2859,14 +2659,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations?include_totals=true", + "path": "/api/v2/organizations?take=50", "body": "", "status": 200, "response": { - "organizations": [], - "start": 0, - "limit": 50, - "total": 0 + "organizations": [] }, "rawHeaders": [], "responseIsBinary": false @@ -2967,7 +2764,7 @@ "subject": "deprecated" } ], - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3028,28 +2825,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations?include_totals=true&take=50", - "body": "", - "status": 200, - "response": { - "organizations": [] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?include_totals=true", + "path": "/api/v2/connections?take=50", "body": "", "status": 200, "response": { - "total": 2, - "start": 0, - "limit": 50, "connections": [ { - "id": "con_6tyEu2hOP8JuHJku", + "id": "con_TZft9UmXrtdJXHZN", "options": { "email": true, "scope": [ @@ -3066,11 +2848,11 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ] }, { - "id": "con_85Lq3efegcuZcVni", + "id": "con_YQIQ8h72LqqSXD75", "options": { "mfa": { "active": true, @@ -3101,7 +2883,7 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ] } ] @@ -3112,66 +2894,151 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50", + "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { - "connections": [ + "total": 3, + "start": 0, + "limit": 100, + "clients": [ { - "id": "con_6tyEu2hOP8JuHJku", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Deploy CLI", + "is_first_party": true, + "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "realms": [ - "google-oauth2" + "cross_origin_authentication": true, + "allowed_clients": [], + "callbacks": [], + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" - ] + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials", + "implicit", + "authorization_code", + "refresh_token" + ], + "custom_login_page_on": true }, { - "id": "con_85Lq3efegcuZcVni", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "async_approval_notification_channels": [ + "guardian-push" + ], + "name": "Default App", + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" - ] + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": true, + "callbacks": [], + "is_first_party": true, + "name": "All Applications", + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" + ], + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true } ] }, @@ -3181,13 +3048,10 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/client-grants?per_page=100&page=0&include_totals=true", + "path": "/api/v2/client-grants?take=50", "body": "", "status": 200, "response": { - "total": 1, - "start": 0, - "limit": 100, "client_grants": [ { "id": "cgr_pbwejzhwoujrsNE8", @@ -3429,160 +3293,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", - "body": "", - "status": 200, - "response": { - "total": 3, - "start": 0, - "limit": 100, - "clients": [ - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", - "is_first_party": true, - "oidc_conformant": true, - "sso_disabled": false, - "cross_origin_auth": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "cross_origin_authentication": true, - "allowed_clients": [], - "callbacks": [], - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials", - "implicit", - "authorization_code", - "refresh_token" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "Default App", - "callbacks": [], - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], - "is_first_party": true, - "name": "All Applications", - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", diff --git a/test/e2e/recordings/should-dump-and-deploy-without-throwing-an-error.json b/test/e2e/recordings/should-dump-and-deploy-without-throwing-an-error.json index 20e828c7b..368a18794 100644 --- a/test/e2e/recordings/should-dump-and-deploy-without-throwing-an-error.json +++ b/test/e2e/recordings/should-dump-and-deploy-without-throwing-an-error.json @@ -158,7 +158,8 @@ "22", "18", "12" - ] + ], + "resource_parameter_profile": "audience" }, "rawHeaders": [], "responseIsBinary": false @@ -1208,7 +1209,7 @@ "subject": "deprecated" } ], - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1232,16 +1233,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&strategy=auth0", + "path": "/api/v2/connections?take=50&strategy=auth0", "body": "", "status": 200, "response": { - "total": 1, - "start": 0, - "limit": 50, "connections": [ { - "id": "con_85Lq3efegcuZcVni", + "id": "con_YQIQ8h72LqqSXD75", "options": { "mfa": { "active": true, @@ -1272,7 +1270,7 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ] } ] @@ -1283,45 +1281,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50&strategy=auth0", + "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75/clients?take=50", "body": "", "status": 200, "response": { - "connections": [ + "clients": [ { - "id": "con_85Lq3efegcuZcVni", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" - ] + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + }, + { + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" } ] }, @@ -1331,16 +1300,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_85Lq3efegcuZcVni/clients?take=50", + "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" }, { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" } ] }, @@ -1350,16 +1319,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true", + "path": "/api/v2/connections?take=50", "body": "", "status": 200, "response": { - "total": 2, - "start": 0, - "limit": 50, "connections": [ { - "id": "con_6tyEu2hOP8JuHJku", + "id": "con_TZft9UmXrtdJXHZN", "options": { "email": true, "scope": [ @@ -1376,11 +1342,11 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ] }, { - "id": "con_85Lq3efegcuZcVni", + "id": "con_YQIQ8h72LqqSXD75", "options": { "mfa": { "active": true, @@ -1411,7 +1377,7 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ] } ] @@ -1422,66 +1388,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50", + "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN/clients?take=50", "body": "", "status": 200, "response": { - "connections": [ + "clients": [ { - "id": "con_6tyEu2hOP8JuHJku", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "realms": [ - "google-oauth2" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" - ] + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" }, { - "id": "con_85Lq3efegcuZcVni", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" - ] + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" } ] }, @@ -1491,16 +1407,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_6tyEu2hOP8JuHJku/clients?take=50", + "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" }, { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" } ] }, @@ -1573,7 +1489,8 @@ "22", "18", "12" - ] + ], + "resource_parameter_profile": "audience" }, "rawHeaders": [], "responseIsBinary": false @@ -1614,7 +1531,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/async_approval", + "path": "/api/v2/email-templates/stolen_credentials", "body": "", "status": 404, "response": { @@ -1629,7 +1546,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/mfa_oob_code", + "path": "/api/v2/email-templates/user_invitation", "body": "", "status": 404, "response": { @@ -1644,7 +1561,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/enrollment_email", + "path": "/api/v2/email-templates/verify_email_by_code", "body": "", "status": 404, "response": { @@ -1659,7 +1576,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email_by_code", + "path": "/api/v2/email-templates/mfa_oob_code", "body": "", "status": 404, "response": { @@ -1674,7 +1591,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/change_password", + "path": "/api/v2/email-templates/blocked_account", "body": "", "status": 404, "response": { @@ -1689,7 +1606,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/password_reset", + "path": "/api/v2/email-templates/async_approval", "body": "", "status": 404, "response": { @@ -1723,7 +1640,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email", + "path": "/api/v2/email-templates/password_reset", "body": "", "status": 404, "response": { @@ -1738,7 +1655,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/user_invitation", + "path": "/api/v2/email-templates/reset_email", "body": "", "status": 404, "response": { @@ -1753,7 +1670,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/blocked_account", + "path": "/api/v2/email-templates/reset_email_by_code", "body": "", "status": 404, "response": { @@ -1768,7 +1685,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/verify_email_by_code", + "path": "/api/v2/email-templates/enrollment_email", "body": "", "status": 404, "response": { @@ -1783,7 +1700,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/stolen_credentials", + "path": "/api/v2/email-templates/change_password", "body": "", "status": 404, "response": { @@ -1798,13 +1715,10 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/client-grants?per_page=100&page=0&include_totals=true", + "path": "/api/v2/client-grants?take=50", "body": "", "status": 200, "response": { - "total": 1, - "start": 0, - "limit": 100, "client_grants": [ { "id": "cgr_pbwejzhwoujrsNE8", @@ -2296,7 +2210,8 @@ "22", "18", "12" - ] + ], + "resource_parameter_profile": "audience" }, "rawHeaders": [], "responseIsBinary": false @@ -2304,7 +2219,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/custom-text/en", + "path": "/api/v2/prompts/login/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2314,7 +2229,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login/custom-text/en", + "path": "/api/v2/prompts/login-id/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2324,7 +2239,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-password/custom-text/en", + "path": "/api/v2/prompts/login-passwordless/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2334,7 +2249,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-passwordless/custom-text/en", + "path": "/api/v2/prompts/login-email-verification/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2344,7 +2259,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-email-verification/custom-text/en", + "path": "/api/v2/prompts/login-password/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2424,7 +2339,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/consent/custom-text/en", + "path": "/api/v2/prompts/custom-form/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2434,7 +2349,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/custom-form/custom-text/en", + "path": "/api/v2/prompts/consent/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2766,6 +2681,7 @@ "version": "v2", "status": "CURRENT", "runtimes": [ + "node12", "node18-actions", "node22" ], @@ -2791,7 +2707,6 @@ "version": "v2", "status": "CURRENT", "runtimes": [ - "node12", "node18-actions", "node22" ], @@ -2914,12 +2829,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/post-login/bindings", + "path": "/api/v2/actions/triggers/post-login/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -2927,12 +2842,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/credentials-exchange/bindings", + "path": "/api/v2/actions/triggers/credentials-exchange/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -2940,12 +2855,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/pre-user-registration/bindings", + "path": "/api/v2/actions/triggers/pre-user-registration/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -2953,12 +2868,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/post-user-registration/bindings", + "path": "/api/v2/actions/triggers/post-user-registration/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -2966,12 +2881,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/post-change-password/bindings", + "path": "/api/v2/actions/triggers/post-change-password/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -2979,12 +2894,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/send-phone-message/bindings", + "path": "/api/v2/actions/triggers/send-phone-message/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -2992,12 +2907,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/password-reset-post-challenge/bindings", + "path": "/api/v2/actions/triggers/password-reset-post-challenge/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -3005,12 +2920,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/login-post-identifier/bindings", + "path": "/api/v2/actions/triggers/login-post-identifier/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -3018,12 +2933,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/custom-phone-provider/bindings", + "path": "/api/v2/actions/triggers/custom-phone-provider/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -3031,12 +2946,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/custom-email-provider/bindings", + "path": "/api/v2/actions/triggers/custom-email-provider/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -3044,12 +2959,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/custom-token-exchange/bindings", + "path": "/api/v2/actions/triggers/custom-token-exchange/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -3057,12 +2972,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/event-stream/bindings", + "path": "/api/v2/actions/triggers/event-stream/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -3070,14 +2985,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations?include_totals=true", + "path": "/api/v2/organizations?take=50", "body": "", "status": 200, "response": { - "organizations": [], - "start": 0, - "limit": 50, - "total": 0 + "organizations": [] }, "rawHeaders": [], "responseIsBinary": false @@ -3178,7 +3090,7 @@ "subject": "deprecated" } ], - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3239,11 +3151,18 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations?include_totals=true&take=50", + "path": "/api/v2/attack-protection/brute-force-protection", "body": "", "status": 200, "response": { - "organizations": [] + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 10 }, "rawHeaders": [], "responseIsBinary": false @@ -3271,25 +3190,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/attack-protection/brute-force-protection", - "body": "", - "status": 200, - "response": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 10 - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -3320,17 +3220,59 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/log-streams", + "path": "/api/v2/attack-protection/captcha", "body": "", "status": 200, - "response": [], + "response": { + "active_provider_id": "auth_challenge", + "simple_captcha": {}, + "auth_challenge": { + "fail_open": false + }, + "recaptcha_v2": { + "site_key": "" + }, + "recaptcha_enterprise": { + "site_key": "", + "project_id": "" + }, + "hcaptcha": { + "site_key": "" + }, + "friendly_captcha": { + "site_key": "" + }, + "arkose": { + "site_key": "", + "client_subdomain": "client-api", + "verify_subdomain": "verify-api", + "fail_open": false + } + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/custom-domains", + "path": "/api/v2/attack-protection/bot-detection", + "body": "", + "status": 200, + "response": { + "challenge_password_policy": "never", + "challenge_passwordless_policy": "never", + "challenge_password_reset_policy": "never", + "allowlist": [], + "bot_detection_level": "medium", + "monitoring_mode_enabled": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/log-streams", "body": "", "status": 200, "response": [], @@ -3340,12 +3282,10 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/custom-domains?take=50", + "path": "/api/v2/custom-domains", "body": "", "status": 200, - "response": { - "custom_domains": [] - }, + "response": [], "rawHeaders": [], "responseIsBinary": false }, @@ -3367,22 +3307,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, - "total": 1, - "forms": [ - { - "id": "ap_6JUSCU7qq1CravnoU6d6jr", - "name": "Blank-form", - "flow_count": 0, - "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-10-31T09:34:07.401Z" - } - ] + "total": 0, + "flows": [] }, "rawHeaders": [], "responseIsBinary": false @@ -3390,14 +3322,22 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, - "total": 0, - "flows": [] + "total": 1, + "forms": [ + { + "id": "ap_6JUSCU7qq1CravnoU6d6jr", + "name": "Blank-form", + "flow_count": 0, + "created_at": "2024-11-26T11:58:18.187Z", + "updated_at": "2025-11-14T06:56:46.159Z" + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -3466,7 +3406,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-10-31T09:34:07.401Z" + "updated_at": "2025-11-14T06:56:46.159Z" }, "rawHeaders": [], "responseIsBinary": false @@ -3474,13 +3414,28 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows/vault/connections?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, "total": 0, + "flows": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "limit": 50, + "start": 0, + "total": 0, "connections": [] }, "rawHeaders": [], @@ -3489,14 +3444,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "limit": 100, + "limit": 50, "start": 0, "total": 0, - "flows": [] + "connections": [] }, "rawHeaders": [], "responseIsBinary": false @@ -3504,11 +3459,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows/vault/connections?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "limit": 100, + "limit": 50, "start": 0, "total": 0, "connections": [] @@ -3519,13 +3474,28 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/self-service-profiles?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "self_service_profiles": [ - { - "id": "ssp_f6qt3syGauLKbSgt6GRLim", + "limit": 50, + "start": 0, + "total": 0, + "connections": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/self-service-profiles?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "self_service_profiles": [ + { + "id": "ssp_f6qt3syGauLKbSgt6GRLim", "name": "self-service-profile-1", "description": "test description self-service-profile-1", "user_attributes": [ @@ -3545,7 +3515,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-10-31T06:06:31.353Z", + "updated_at": "2025-10-31T14:59:23.732Z", "branding": { "colors": { "primary": "#19aecc" @@ -3597,7 +3567,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-10-31T06:06:16.461Z", + "updated_at": "2025-11-18T03:34:46.530Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] @@ -3660,61 +3630,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/user-attribute-profiles?take=50", - "body": "", - "status": 200, - "response": { - "user_attribute_profiles": [ - { - "id": "uap_1csDj3szFsgxGS1oTZTdFm", - "name": "test-user-attribute-profile-2", - "user_id": { - "oidc_mapping": "sub", - "saml_mapping": [ - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" - ], - "scim_mapping": "externalId" - }, - "user_attributes": { - "email": { - "label": "Email", - "description": "Email of the User", - "auth0_mapping": "email", - "profile_required": true - } - } - }, - { - "id": "uap_1csDj3sAVu6n5eTzLw6XZg", - "name": "test-user-attribute-profile", - "user_id": { - "oidc_mapping": "sub", - "saml_mapping": [ - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" - ], - "scim_mapping": "externalId" - }, - "user_attributes": { - "email": { - "label": "Email", - "description": "Email of the User", - "auth0_mapping": "email", - "profile_required": true - } - } - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -5005,7 +4920,7 @@ "subject": "deprecated" } ], - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5029,7 +4944,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "path": "/api/v2/clients/wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "body": { "name": "Default App", "async_approval_notification_channels": [ @@ -5094,7 +5009,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5130,7 +5045,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/otp", + "path": "/api/v2/guardian/factors/webauthn-platform", "body": { "enabled": false }, @@ -5144,7 +5059,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/push-notification", + "path": "/api/v2/guardian/factors/otp", "body": { "enabled": false }, @@ -5172,7 +5087,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", + "path": "/api/v2/guardian/factors/recovery-code", "body": { "enabled": false }, @@ -5186,7 +5101,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-platform", + "path": "/api/v2/guardian/factors/webauthn-roaming", "body": { "enabled": false }, @@ -5200,7 +5115,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/recovery-code", + "path": "/api/v2/guardian/factors/sms", "body": { "enabled": false }, @@ -5214,7 +5129,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/push-notification", "body": { "enabled": false }, @@ -5321,6 +5236,98 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/bot-detection", + "body": { + "challenge_password_policy": "never", + "challenge_passwordless_policy": "never", + "challenge_password_reset_policy": "never", + "allowlist": [], + "bot_detection_level": "medium", + "monitoring_mode_enabled": false + }, + "status": 200, + "response": { + "challenge_password_policy": "never", + "challenge_passwordless_policy": "never", + "challenge_password_reset_policy": "never", + "allowlist": [], + "bot_detection_level": "medium", + "monitoring_mode_enabled": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/brute-force-protection", + "body": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 10 + }, + "status": 200, + "response": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 10 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/captcha", + "body": { + "active_provider_id": "auth_challenge", + "auth_challenge": { + "fail_open": false + } + }, + "status": 200, + "response": { + "active_provider_id": "auth_challenge", + "simple_captcha": {}, + "auth_challenge": { + "fail_open": false + }, + "recaptcha_v2": { + "site_key": "" + }, + "recaptcha_enterprise": { + "site_key": "", + "project_id": "" + }, + "hcaptcha": { + "site_key": "" + }, + "friendly_captcha": { + "site_key": "" + }, + "arkose": { + "site_key": "", + "client_subdomain": "client-api", + "verify_subdomain": "verify-api", + "fail_open": false + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -5365,34 +5372,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/brute-force-protection", - "body": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 10 - }, - "status": 200, - "response": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 10 - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -5439,18 +5418,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/custom-domains?take=50", - "body": "", - "status": 200, - "response": { - "custom_domains": [] - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -5478,7 +5445,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-10-31T06:06:16.461Z", + "updated_at": "2025-11-18T03:34:46.530Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] @@ -5488,7 +5455,7 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PUT", + "method": "PATCH", "path": "/api/v2/network-acls/acl_wpZ6oScRU5L6QKAxMUMHmx", "body": { "priority": 1, @@ -5523,7 +5490,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-10-31T14:56:40.821Z", + "updated_at": "2025-11-18T04:41:07.750Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" }, "rawHeaders": [], @@ -5584,67 +5551,12 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/user-attribute-profiles?take=50", - "body": "", - "status": 200, - "response": { - "user_attribute_profiles": [ - { - "id": "uap_1csDj3szFsgxGS1oTZTdFm", - "name": "test-user-attribute-profile-2", - "user_id": { - "oidc_mapping": "sub", - "saml_mapping": [ - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" - ], - "scim_mapping": "externalId" - }, - "user_attributes": { - "email": { - "label": "Email", - "description": "Email of the User", - "auth0_mapping": "email", - "profile_required": true - } - } - }, - { - "id": "uap_1csDj3sAVu6n5eTzLw6XZg", - "name": "test-user-attribute-profile", - "user_id": { - "oidc_mapping": "sub", - "saml_mapping": [ - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" - ], - "scim_mapping": "externalId" - }, - "user_attributes": { - "email": { - "label": "Email", - "description": "Email of the User", - "auth0_mapping": "email", - "profile_required": true - } - } - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/user-attribute-profiles/uap_1csDj3sAVu6n5eTzLw6XZg", + "path": "/api/v2/user-attribute-profiles/uap_1csDj3szFsgxGS1oTZTdFm", "body": { - "name": "test-user-attribute-profile", + "name": "test-user-attribute-profile-2", "user_attributes": { "email": { "label": "Email", @@ -5665,8 +5577,8 @@ }, "status": 200, "response": { - "id": "uap_1csDj3sAVu6n5eTzLw6XZg", - "name": "test-user-attribute-profile", + "id": "uap_1csDj3szFsgxGS1oTZTdFm", + "name": "test-user-attribute-profile-2", "user_id": { "oidc_mapping": "sub", "saml_mapping": [ @@ -5691,9 +5603,9 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/user-attribute-profiles/uap_1csDj3szFsgxGS1oTZTdFm", + "path": "/api/v2/user-attribute-profiles/uap_1csDj3sAVu6n5eTzLw6XZg", "body": { - "name": "test-user-attribute-profile-2", + "name": "test-user-attribute-profile", "user_attributes": { "email": { "label": "Email", @@ -5714,8 +5626,8 @@ }, "status": 200, "response": { - "id": "uap_1csDj3szFsgxGS1oTZTdFm", - "name": "test-user-attribute-profile-2", + "id": "uap_1csDj3sAVu6n5eTzLw6XZg", + "name": "test-user-attribute-profile", "user_id": { "oidc_mapping": "sub", "saml_mapping": [ @@ -5833,7 +5745,7 @@ "subject": "deprecated" } ], - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5894,16 +5806,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&strategy=auth0", + "path": "/api/v2/connections?take=50&strategy=auth0", "body": "", "status": 200, "response": { - "total": 1, - "start": 0, - "limit": 50, "connections": [ { - "id": "con_85Lq3efegcuZcVni", + "id": "con_YQIQ8h72LqqSXD75", "options": { "mfa": { "active": true, @@ -5934,7 +5843,7 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ] } ] @@ -5945,13 +5854,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50&strategy=auth0", + "path": "/api/v2/connections?take=50&strategy=auth0", "body": "", "status": 200, "response": { "connections": [ { - "id": "con_85Lq3efegcuZcVni", + "id": "con_YQIQ8h72LqqSXD75", "options": { "mfa": { "active": true, @@ -5982,7 +5891,7 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ] } ] @@ -5993,96 +5902,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&strategy=auth0", + "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75/clients?take=50", "body": "", "status": 200, "response": { - "total": 1, - "start": 0, - "limit": 50, - "connections": [ + "clients": [ { - "id": "con_85Lq3efegcuZcVni", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50&strategy=auth0", - "body": "", - "status": 200, - "response": { - "connections": [ + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + }, { - "id": "con_85Lq3efegcuZcVni", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" - ] + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" } ] }, @@ -6092,16 +5921,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_85Lq3efegcuZcVni/clients?take=50", + "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" }, { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" } ] }, @@ -6111,11 +5940,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_85Lq3efegcuZcVni", + "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75", "body": "", "status": 200, "response": { - "id": "con_85Lq3efegcuZcVni", + "id": "con_YQIQ8h72LqqSXD75", "options": { "mfa": { "active": true, @@ -6143,7 +5972,7 @@ "is_domain_connection": false, "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ], "realms": [ "Username-Password-Authentication" @@ -6155,11 +5984,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_85Lq3efegcuZcVni", + "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75", "body": { "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ], "is_domain_connection": false, "options": { @@ -6190,7 +6019,7 @@ }, "status": 200, "response": { - "id": "con_85Lq3efegcuZcVni", + "id": "con_YQIQ8h72LqqSXD75", "options": { "mfa": { "active": true, @@ -6218,7 +6047,7 @@ "is_domain_connection": false, "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ], "realms": [ "Username-Password-Authentication" @@ -6230,14 +6059,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_85Lq3efegcuZcVni/clients", + "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75/clients", "body": [ { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "status": true }, { - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "status": true } ], @@ -6342,7 +6171,7 @@ "subject": "deprecated" } ], - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6403,85 +6232,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true", - "body": "", - "status": 200, - "response": { - "total": 2, - "start": 0, - "limit": 50, - "connections": [ - { - "id": "con_6tyEu2hOP8JuHJku", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "realms": [ - "google-oauth2" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" - ] - }, - { - "id": "con_85Lq3efegcuZcVni", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50", + "path": "/api/v2/connections?take=50", "body": "", "status": 200, "response": { "connections": [ { - "id": "con_6tyEu2hOP8JuHJku", + "id": "con_TZft9UmXrtdJXHZN", "options": { "email": true, "scope": [ @@ -6498,11 +6255,11 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ] }, { - "id": "con_85Lq3efegcuZcVni", + "id": "con_YQIQ8h72LqqSXD75", "options": { "mfa": { "active": true, @@ -6533,7 +6290,7 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ] } ] @@ -6544,16 +6301,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true", + "path": "/api/v2/connections?take=50", "body": "", "status": 200, "response": { - "total": 2, - "start": 0, - "limit": 50, "connections": [ { - "id": "con_6tyEu2hOP8JuHJku", + "id": "con_TZft9UmXrtdJXHZN", "options": { "email": true, "scope": [ @@ -6570,11 +6324,11 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ] }, { - "id": "con_85Lq3efegcuZcVni", + "id": "con_YQIQ8h72LqqSXD75", "options": { "mfa": { "active": true, @@ -6605,7 +6359,7 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ] } ] @@ -6616,66 +6370,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50", + "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN/clients?take=50", "body": "", "status": 200, "response": { - "connections": [ + "clients": [ { - "id": "con_6tyEu2hOP8JuHJku", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "realms": [ - "google-oauth2" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" - ] + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" }, { - "id": "con_85Lq3efegcuZcVni", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" - ] + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" } ] }, @@ -6685,16 +6389,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_6tyEu2hOP8JuHJku/clients?take=50", + "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" }, { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" } ] }, @@ -6704,11 +6408,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_6tyEu2hOP8JuHJku", + "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN", "body": { "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ], "is_domain_connection": false, "options": { @@ -6722,7 +6426,7 @@ }, "status": 200, "response": { - "id": "con_6tyEu2hOP8JuHJku", + "id": "con_TZft9UmXrtdJXHZN", "options": { "email": true, "scope": [ @@ -6736,7 +6440,7 @@ "is_domain_connection": false, "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ], "realms": [ "google-oauth2" @@ -6748,14 +6452,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_6tyEu2hOP8JuHJku/clients", + "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN/clients", "body": [ { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "status": true }, { - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "status": true } ], @@ -6897,7 +6601,7 @@ "subject": "deprecated" } ], - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6958,13 +6662,10 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/client-grants?per_page=100&page=0&include_totals=true", + "path": "/api/v2/client-grants?take=50", "body": "", "status": 200, "response": { - "total": 1, - "start": 0, - "limit": 100, "client_grants": [ { "id": "cgr_pbwejzhwoujrsNE8", @@ -7250,7 +6951,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-10-31T06:06:31.353Z", + "updated_at": "2025-10-31T14:59:23.732Z", "branding": { "colors": { "primary": "#19aecc" @@ -7326,7 +7027,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-10-31T14:56:52.430Z", + "updated_at": "2025-11-18T04:41:17.205Z", "branding": { "colors": { "primary": "#19aecc" @@ -7415,14 +7116,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations?include_totals=true", + "path": "/api/v2/organizations?take=50", "body": "", "status": 200, "response": { - "organizations": [], - "start": 0, - "limit": 50, - "total": 0 + "organizations": [] }, "rawHeaders": [], "responseIsBinary": false @@ -7523,7 +7221,7 @@ "subject": "deprecated" } ], - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7584,28 +7282,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations?include_totals=true&take=50", - "body": "", - "status": 200, - "response": { - "organizations": [] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?include_totals=true", + "path": "/api/v2/connections?take=50", "body": "", "status": 200, "response": { - "total": 2, - "start": 0, - "limit": 50, "connections": [ { - "id": "con_6tyEu2hOP8JuHJku", + "id": "con_TZft9UmXrtdJXHZN", "options": { "email": true, "scope": [ @@ -7622,11 +7305,11 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ] }, { - "id": "con_85Lq3efegcuZcVni", + "id": "con_YQIQ8h72LqqSXD75", "options": { "mfa": { "active": true, @@ -7657,7 +7340,7 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ] } ] @@ -7668,66 +7351,151 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50", + "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { - "connections": [ - { - "id": "con_6tyEu2hOP8JuHJku", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "realms": [ - "google-oauth2" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" - ] - }, + "total": 3, + "start": 0, + "limit": 100, + "clients": [ { - "id": "con_85Lq3efegcuZcVni", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Deploy CLI", + "is_first_party": true, + "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "cross_origin_authentication": true, + "allowed_clients": [], + "callbacks": [], + "native_social_login": { + "apple": { + "enabled": false }, - "brute_force_protection": true + "facebook": { + "enabled": false + } }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" - ] + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials", + "implicit", + "authorization_code", + "refresh_token" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "async_approval_notification_channels": [ + "guardian-push" + ], + "name": "Default App", + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": true, + "callbacks": [], + "is_first_party": true, + "name": "All Applications", + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" + ], + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true } ] }, @@ -7737,13 +7505,10 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/client-grants?per_page=100&page=0&include_totals=true", + "path": "/api/v2/client-grants?take=50", "body": "", "status": 200, "response": { - "total": 1, - "start": 0, - "limit": 100, "client_grants": [ { "id": "cgr_pbwejzhwoujrsNE8", @@ -7988,153 +7753,24 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", + "path": "/api/v2/log-streams", + "body": "", + "status": 200, + "response": [], + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "total": 3, + "limit": 50, "start": 0, - "limit": 100, - "clients": [ - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", - "is_first_party": true, - "oidc_conformant": true, - "sso_disabled": false, - "cross_origin_auth": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "cross_origin_authentication": true, - "allowed_clients": [], - "callbacks": [], - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials", - "implicit", - "authorization_code", - "refresh_token" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "Default App", - "callbacks": [], - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], - "is_first_party": true, - "name": "All Applications", - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true - } - ] + "total": 0, + "connections": [] }, "rawHeaders": [], "responseIsBinary": false @@ -8142,21 +7778,26 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/log-streams", + "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, - "response": [], + "response": { + "limit": 50, + "start": 0, + "total": 0, + "connections": [] + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows/vault/connections?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "limit": 100, + "limit": 50, "start": 0, "total": 0, "connections": [] @@ -8167,11 +7808,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows/vault/connections?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "limit": 100, + "limit": 50, "start": 0, "total": 0, "connections": [] @@ -8197,11 +7838,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows/vault/connections?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "limit": 100, + "limit": 50, "start": 0, "total": 0, "connections": [] @@ -8212,14 +7853,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "limit": 100, + "limit": 50, "start": 0, "total": 0, - "flows": [] + "connections": [] }, "rawHeaders": [], "responseIsBinary": false @@ -8255,13 +7896,28 @@ "name": "Blank-form", "flow_count": 0, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-10-31T09:34:07.401Z" + "updated_at": "2025-11-14T06:56:46.159Z" } ] }, "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "limit": 100, + "start": 0, + "total": 0, + "flows": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -8326,7 +7982,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-10-31T09:34:07.401Z" + "updated_at": "2025-11-14T06:56:46.159Z" }, "rawHeaders": [], "responseIsBinary": false @@ -8451,7 +8107,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-10-31T14:57:00.495Z" + "updated_at": "2025-11-18T04:41:25.239Z" }, "rawHeaders": [], "responseIsBinary": false @@ -8482,6 +8138,7 @@ }, "friendly_name": "My Test Tenant", "picture_url": "https://upload.wikimedia.org/wikipedia/commons/0/0d/Grandmas_marathon_finishers.png", + "resource_parameter_profile": "audience", "sandbox_version": "12", "session_cookie": { "mode": "non-persistent" @@ -8554,6 +8211,7 @@ }, "identifier_first": true }, + "resource_parameter_profile": "audience", "session_cookie": { "mode": "non-persistent" } diff --git a/test/e2e/recordings/should-dump-without-throwing-an-error.json b/test/e2e/recordings/should-dump-without-throwing-an-error.json index 38aec718b..3e8fb6fd2 100644 --- a/test/e2e/recordings/should-dump-without-throwing-an-error.json +++ b/test/e2e/recordings/should-dump-without-throwing-an-error.json @@ -158,7 +158,8 @@ "22", "18", "12" - ] + ], + "resource_parameter_profile": "audience" }, "rawHeaders": [], "responseIsBinary": false @@ -1208,7 +1209,7 @@ "subject": "deprecated" } ], - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1232,16 +1233,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&strategy=auth0", + "path": "/api/v2/connections?take=50&strategy=auth0", "body": "", "status": 200, "response": { - "total": 1, - "start": 0, - "limit": 50, "connections": [ { - "id": "con_85Lq3efegcuZcVni", + "id": "con_YQIQ8h72LqqSXD75", "options": { "mfa": { "active": true, @@ -1272,7 +1270,7 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ] } ] @@ -1283,64 +1281,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50&strategy=auth0", - "body": "", - "status": 200, - "response": { - "connections": [ - { - "id": "con_85Lq3efegcuZcVni", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_85Lq3efegcuZcVni/clients?take=50", + "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" }, { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" } ] }, @@ -1350,48 +1300,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true", + "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75/clients?take=50", "body": "", "status": 200, "response": { - "total": 1, - "start": 0, - "limit": 50, - "connections": [ + "clients": [ { - "id": "con_85Lq3efegcuZcVni", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" - ] + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + }, + { + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" } ] }, @@ -1401,13 +1319,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50", + "path": "/api/v2/connections?take=50", "body": "", "status": 200, "response": { "connections": [ { - "id": "con_85Lq3efegcuZcVni", + "id": "con_YQIQ8h72LqqSXD75", "options": { "mfa": { "active": true, @@ -1438,7 +1356,7 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg" + "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" ] } ] @@ -1512,7 +1430,8 @@ "22", "18", "12" - ] + ], + "resource_parameter_profile": "audience" }, "rawHeaders": [], "responseIsBinary": false @@ -1553,7 +1472,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/stolen_credentials", + "path": "/api/v2/email-templates/user_invitation", "body": "", "status": 404, "response": { @@ -1568,7 +1487,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/change_password", + "path": "/api/v2/email-templates/async_approval", "body": "", "status": 404, "response": { @@ -1583,18 +1502,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/welcome_email", + "path": "/api/v2/email-templates/change_password", "body": "", - "status": 200, + "status": 404, "response": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" }, "rawHeaders": [], "responseIsBinary": false @@ -1602,7 +1517,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/mfa_oob_code", + "path": "/api/v2/email-templates/reset_email_by_code", "body": "", "status": 404, "response": { @@ -1617,7 +1532,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/verify_email_by_code", + "path": "/api/v2/email-templates/enrollment_email", "body": "", "status": 404, "response": { @@ -1632,7 +1547,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/async_approval", + "path": "/api/v2/email-templates/reset_email", "body": "", "status": 404, "response": { @@ -1647,7 +1562,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/enrollment_email", + "path": "/api/v2/email-templates/stolen_credentials", "body": "", "status": 404, "response": { @@ -1662,7 +1577,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email_by_code", + "path": "/api/v2/email-templates/verify_email_by_code", "body": "", "status": 404, "response": { @@ -1677,14 +1592,18 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email", + "path": "/api/v2/email-templates/welcome_email", "body": "", - "status": 404, + "status": 200, "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "from": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", + "syntax": "liquid", + "urlLifetimeInSeconds": 3600, + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -1707,7 +1626,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/blocked_account", + "path": "/api/v2/email-templates/mfa_oob_code", "body": "", "status": 404, "response": { @@ -1722,7 +1641,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/user_invitation", + "path": "/api/v2/email-templates/blocked_account", "body": "", "status": 404, "response": { @@ -1737,13 +1656,10 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/client-grants?per_page=100&page=0&include_totals=true", + "path": "/api/v2/client-grants?take=50", "body": "", "status": 200, "response": { - "total": 1, - "start": 0, - "limit": 100, "client_grants": [ { "id": "cgr_pbwejzhwoujrsNE8", @@ -2039,7 +1955,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/guardian/factors/push-notification/providers/sns", + "path": "/api/v2/guardian/factors/sms/providers/twilio", "body": "", "status": 200, "response": {}, @@ -2049,7 +1965,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/guardian/factors/sms/providers/twilio", + "path": "/api/v2/guardian/factors/push-notification/providers/sns", "body": "", "status": 200, "response": {}, @@ -2235,7 +2151,8 @@ "22", "18", "12" - ] + ], + "resource_parameter_profile": "audience" }, "rawHeaders": [], "responseIsBinary": false @@ -2243,7 +2160,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/custom-text/en", + "path": "/api/v2/prompts/login-password/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2263,7 +2180,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-password/custom-text/en", + "path": "/api/v2/prompts/login-passwordless/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2283,7 +2200,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-passwordless/custom-text/en", + "path": "/api/v2/prompts/login-id/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2323,7 +2240,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/phone-identifier-enrollment/custom-text/en", + "path": "/api/v2/prompts/phone-identifier-challenge/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2333,7 +2250,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/phone-identifier-challenge/custom-text/en", + "path": "/api/v2/prompts/phone-identifier-enrollment/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2363,7 +2280,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/consent/custom-text/en", + "path": "/api/v2/prompts/custom-form/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2373,7 +2290,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/customized-consent/custom-text/en", + "path": "/api/v2/prompts/consent/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2383,7 +2300,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/logout/custom-text/en", + "path": "/api/v2/prompts/customized-consent/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2393,7 +2310,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/custom-form/custom-text/en", + "path": "/api/v2/prompts/logout/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2453,7 +2370,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-sms/custom-text/en", + "path": "/api/v2/prompts/mfa-email/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2463,7 +2380,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-email/custom-text/en", + "path": "/api/v2/prompts/mfa-recovery-code/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2473,7 +2390,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-recovery-code/custom-text/en", + "path": "/api/v2/prompts/mfa/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2483,7 +2400,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa/custom-text/en", + "path": "/api/v2/prompts/status/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2493,7 +2410,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/status/custom-text/en", + "path": "/api/v2/prompts/mfa-sms/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2513,7 +2430,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/email-verification/custom-text/en", + "path": "/api/v2/prompts/email-otp-challenge/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2523,7 +2440,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/email-otp-challenge/custom-text/en", + "path": "/api/v2/prompts/email-verification/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2543,7 +2460,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/invitation/custom-text/en", + "path": "/api/v2/prompts/common/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2553,7 +2470,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/common/custom-text/en", + "path": "/api/v2/prompts/invitation/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2583,7 +2500,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-password/partials", + "path": "/api/v2/prompts/login/partials", "body": "", "status": 200, "response": {}, @@ -2593,7 +2510,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/partials", + "path": "/api/v2/prompts/login-password/partials", "body": "", "status": 200, "response": {}, @@ -2603,7 +2520,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login/partials", + "path": "/api/v2/prompts/login-id/partials", "body": "", "status": 200, "response": {}, @@ -2613,7 +2530,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-passwordless/partials", + "path": "/api/v2/prompts/signup-id/partials", "body": "", "status": 200, "response": {}, @@ -2623,7 +2540,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup/partials", + "path": "/api/v2/prompts/login-passwordless/partials", "body": "", "status": 200, "response": {}, @@ -2633,7 +2550,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup-id/partials", + "path": "/api/v2/prompts/signup/partials", "body": "", "status": 200, "response": {}, @@ -2671,23 +2588,12 @@ "status": 200, "response": { "triggers": [ - { - "id": "post-login", - "version": "v2", - "status": "DEPRECATED", - "runtimes": [ - "node12", - "node18" - ], - "default_runtime": "node16", - "binding_policy": "trigger-bound", - "compatible_triggers": [] - }, { "id": "post-login", "version": "v3", "status": "CURRENT", "runtimes": [ + "node12", "node18-actions", "node22" ], @@ -2700,6 +2606,17 @@ } ] }, + { + "id": "post-login", + "version": "v2", + "status": "DEPRECATED", + "runtimes": [ + "node18" + ], + "default_runtime": "node16", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, { "id": "credentials-exchange", "version": "v2", @@ -2712,12 +2629,22 @@ "binding_policy": "trigger-bound", "compatible_triggers": [] }, + { + "id": "pre-user-registration", + "version": "v1", + "status": "DEPRECATED", + "runtimes": [ + "node12" + ], + "default_runtime": "node12", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, { "id": "pre-user-registration", "version": "v2", "status": "CURRENT", "runtimes": [ - "node12", "node18-actions", "node22" ], @@ -2743,7 +2670,6 @@ "version": "v2", "status": "CURRENT", "runtimes": [ - "node12", "node18-actions", "node22" ], @@ -2843,12 +2769,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/post-login/bindings", + "path": "/api/v2/actions/triggers/post-login/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -2856,12 +2782,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/credentials-exchange/bindings", + "path": "/api/v2/actions/triggers/credentials-exchange/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -2869,12 +2795,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/pre-user-registration/bindings", + "path": "/api/v2/actions/triggers/pre-user-registration/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -2882,12 +2808,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/post-user-registration/bindings", + "path": "/api/v2/actions/triggers/post-user-registration/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -2895,12 +2821,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/post-change-password/bindings", + "path": "/api/v2/actions/triggers/post-change-password/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -2908,12 +2834,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/send-phone-message/bindings", + "path": "/api/v2/actions/triggers/send-phone-message/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -2921,12 +2847,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/password-reset-post-challenge/bindings", + "path": "/api/v2/actions/triggers/password-reset-post-challenge/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -2934,12 +2860,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/login-post-identifier/bindings", + "path": "/api/v2/actions/triggers/login-post-identifier/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -2947,12 +2873,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/custom-phone-provider/bindings", + "path": "/api/v2/actions/triggers/custom-phone-provider/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -2960,12 +2886,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/custom-email-provider/bindings", + "path": "/api/v2/actions/triggers/custom-email-provider/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -2973,12 +2899,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/custom-token-exchange/bindings", + "path": "/api/v2/actions/triggers/custom-token-exchange/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -2986,12 +2912,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/event-stream/bindings", + "path": "/api/v2/actions/triggers/event-stream/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { "bindings": [], - "per_page": 20 + "per_page": 50 }, "rawHeaders": [], "responseIsBinary": false @@ -2999,14 +2925,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations?include_totals=true", + "path": "/api/v2/organizations?take=50", "body": "", "status": 200, "response": { - "organizations": [], - "start": 0, - "limit": 50, - "total": 0 + "organizations": [] }, "rawHeaders": [], "responseIsBinary": false @@ -3107,7 +3030,7 @@ "subject": "deprecated" } ], - "client_id": "p6AdI4eB3aIQ90CHsBP4rSo7KS0oeKmg", + "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3168,11 +3091,18 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations?include_totals=true&take=50", + "path": "/api/v2/attack-protection/brute-force-protection", "body": "", "status": 200, "response": { - "organizations": [] + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 10 }, "rawHeaders": [], "responseIsBinary": false @@ -3200,25 +3130,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/attack-protection/brute-force-protection", - "body": "", - "status": 200, - "response": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 10 - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -3249,17 +3160,59 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/log-streams", + "path": "/api/v2/attack-protection/bot-detection", "body": "", "status": 200, - "response": [], + "response": { + "challenge_password_policy": "never", + "challenge_passwordless_policy": "never", + "challenge_password_reset_policy": "never", + "allowlist": [], + "bot_detection_level": "medium", + "monitoring_mode_enabled": false + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/custom-domains", + "path": "/api/v2/attack-protection/captcha", + "body": "", + "status": 200, + "response": { + "active_provider_id": "auth_challenge", + "simple_captcha": {}, + "auth_challenge": { + "fail_open": false + }, + "recaptcha_v2": { + "site_key": "" + }, + "recaptcha_enterprise": { + "site_key": "", + "project_id": "" + }, + "hcaptcha": { + "site_key": "" + }, + "friendly_captcha": { + "site_key": "" + }, + "arkose": { + "site_key": "", + "client_subdomain": "client-api", + "verify_subdomain": "verify-api", + "fail_open": false + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/log-streams", "body": "", "status": 200, "response": [], @@ -3269,12 +3222,10 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/custom-domains?take=50", + "path": "/api/v2/custom-domains", "body": "", "status": 200, - "response": { - "custom_domains": [] - }, + "response": [], "rawHeaders": [], "responseIsBinary": false }, @@ -3296,14 +3247,22 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, - "total": 0, - "flows": [] + "total": 1, + "forms": [ + { + "id": "ap_6JUSCU7qq1CravnoU6d6jr", + "name": "Blank-form", + "flow_count": 0, + "created_at": "2024-11-26T11:58:18.187Z", + "updated_at": "2025-11-14T06:56:46.159Z" + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -3311,22 +3270,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, - "total": 1, - "forms": [ - { - "id": "ap_6JUSCU7qq1CravnoU6d6jr", - "name": "Blank-form", - "flow_count": 0, - "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-10-31T09:34:07.401Z" - } - ] + "total": 0, + "flows": [] }, "rawHeaders": [], "responseIsBinary": false @@ -3395,7 +3346,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-10-31T09:34:07.401Z" + "updated_at": "2025-11-14T06:56:46.159Z" }, "rawHeaders": [], "responseIsBinary": false @@ -3418,11 +3369,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows/vault/connections?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "limit": 100, + "limit": 50, "start": 0, "total": 0, "connections": [] @@ -3433,11 +3384,41 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows/vault/connections?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "limit": 100, + "limit": 50, + "start": 0, + "total": 0, + "connections": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "limit": 50, + "start": 0, + "total": 0, + "connections": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "limit": 50, "start": 0, "total": 0, "connections": [] @@ -3474,7 +3455,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-10-31T06:06:31.353Z", + "updated_at": "2025-10-31T14:59:23.732Z", "branding": { "colors": { "primary": "#19aecc" @@ -3526,7 +3507,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-10-31T06:06:16.461Z", + "updated_at": "2025-10-31T14:59:09.594Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] @@ -3588,60 +3569,5 @@ }, "rawHeaders": [], "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/user-attribute-profiles?take=50", - "body": "", - "status": 200, - "response": { - "user_attribute_profiles": [ - { - "id": "uap_1csDj3szFsgxGS1oTZTdFm", - "name": "test-user-attribute-profile-2", - "user_id": { - "oidc_mapping": "sub", - "saml_mapping": [ - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" - ], - "scim_mapping": "externalId" - }, - "user_attributes": { - "email": { - "label": "Email", - "description": "Email of the User", - "auth0_mapping": "email", - "profile_required": true - } - } - }, - { - "id": "uap_1csDj3sAVu6n5eTzLw6XZg", - "name": "test-user-attribute-profile", - "user_id": { - "oidc_mapping": "sub", - "saml_mapping": [ - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" - ], - "scim_mapping": "externalId" - }, - "user_attributes": { - "email": { - "label": "Email", - "description": "Email of the User", - "auth0_mapping": "email", - "profile_required": true - } - } - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false } ] \ No newline at end of file diff --git a/test/tools/auth0/client.tests.js b/test/tools/auth0/client.tests.js index 5c3fa2a6a..d2b51d112 100644 --- a/test/tools/auth0/client.tests.js +++ b/test/tools/auth0/client.tests.js @@ -14,18 +14,19 @@ describe('#schema validation tests', async () => { const mock = { clients: { - getAll: async (args) => + list: async (args) => new Promise((resolve) => { const localArgs = { ...args }; setTimeout(() => { resolve({ - data: { - start: localArgs.page * localArgs.per_page, + data: clients.slice( + localArgs.page * localArgs.per_page, + (localArgs.page + 1) * localArgs.per_page + ), + response: { total: expectedNbClients, - clients: clients.slice( - localArgs.page * localArgs.per_page, - (localArgs.page + 1) * localArgs.per_page - ), + start: localArgs.page * localArgs.per_page, + limit: localArgs.per_page, }, }); }, 10); @@ -35,7 +36,7 @@ describe('#schema validation tests', async () => { const pagedManager = client(mock); - const allClients = await pagedManager.clients.getAll({ paginate: true }); + const allClients = await pagedManager.clients.list({ paginate: true }); expect(allClients.length).to.eq(expectedNbClients); }); @@ -53,15 +54,16 @@ describe('#schema validation tests', async () => { const mock = { roles: { permissions: { - getAll: async (localArgs) => + list: async (localArgs) => Promise.resolve({ - data: { - start: localArgs.page * localArgs.per_page, + data: permissions.slice( + localArgs.page * localArgs.per_page, + (localArgs.page + 1) * localArgs.per_page + ), + response: { total: expectedNbItems, - permissions: permissions.slice( - localArgs.page * localArgs.per_page, - (localArgs.page + 1) * localArgs.per_page - ), + start: localArgs.page * localArgs.per_page, + limit: localArgs.per_page, }, }), }, @@ -70,7 +72,7 @@ describe('#schema validation tests', async () => { const pagedManager = client(mock); - const rolesPermissions = await pagedManager.roles.permissions.getAll({ paginate: true }); + const rolesPermissions = await pagedManager.roles.permissions.list({ paginate: true }); expect(rolesPermissions.length).to.eq(expectedNbItems); }); }); diff --git a/test/tools/auth0/handlers/actions.tests.js b/test/tools/auth0/handlers/actions.tests.js index 17430ff7d..4b45af888 100644 --- a/test/tools/auth0/handlers/actions.tests.js +++ b/test/tools/auth0/handlers/actions.tests.js @@ -29,7 +29,7 @@ describe('#actions handler', () => { it('should not allow same names', (done) => { const auth0 = { actions: { - getAll: () => ({ data: [] }), + list: () => Promise.resolve({ data: [] }), }, }; @@ -69,7 +69,7 @@ describe('#actions handler', () => { it('should pass validation', async () => { const auth0 = { actions: { - getAll: () => ({ data: [] }), + list: () => Promise.resolve({ data: [] }), }, }; @@ -143,27 +143,25 @@ describe('#actions handler', () => { }, update: () => Promise.resolve({ data: [] }), delete: () => Promise.resolve({ data: [] }), - getAll: () => { - if (!auth0.getAllCalled) { - auth0.getAllCalled = true; + list: () => { + if (!auth0.listCalled) { + auth0.listCalled = true; return Promise.resolve({ data: [] }); } return Promise.resolve({ - data: { - actions: [ - { - name: action.name, - supported_triggers: action.supported_triggers, - id: actionId, - }, - ], - }, + data: [ + { + name: action.name, + supported_triggers: action.supported_triggers, + id: actionId, + }, + ], }); }, createVersion: () => Promise.resolve({ data: version }), }, pool, - getAllCalled: true, + listCalled: true, }; const handler = new actions.default({ client: pageClient(auth0), config }); @@ -204,9 +202,9 @@ describe('#actions handler', () => { create: (data) => Promise.resolve({ data: { ...data, id: actionId } }), update: () => Promise.resolve({ data: [] }), delete: () => Promise.resolve({ data: [] }), - getAll: () => { - if (!auth0.getAllCalled) { - auth0.getAllCalled = true; + list: () => { + if (!auth0.listCalled) { + auth0.listCalled = true; return Promise.resolve(mockPagedData({ include_totals: true }, 'actions', [])); } @@ -221,13 +219,13 @@ describe('#actions handler', () => { ); }, createVersion: () => Promise.resolve({ data: version }), - deploy: (data) => { - expect(data).to.deep.equal({ id: actionId }); + deploy: (id) => { + expect(id).to.equal(actionId); didDeployGetCalled = true; }, }, pool, - getAllCalled: false, + listCalled: false, }; const handler = new actions.default({ client: pageClient(auth0), config }); @@ -261,7 +259,7 @@ describe('#actions handler', () => { const auth0 = { actions: { - getAll: () => mockPagedData({ include_totals: true }, 'actions', actionsData), + list: () => mockPagedData({ include_totals: true }, 'actions', actionsData), }, }; @@ -273,7 +271,7 @@ describe('#actions handler', () => { it('should throw informative error when actions service returns "An internal server error occurred" 500 error', async () => { const auth0 = { actions: { - getAll: () => { + list: () => { const error = new Error(); error.statusCode = 500; error.message = 'An internal server error occurred'; @@ -292,7 +290,7 @@ describe('#actions handler', () => { it('should return an empty array for 501 status code', async () => { const auth0 = { actions: { - getAll: () => { + list: () => { const error = new Error('Feature is not yet implemented'); error.statusCode = 501; throw error; @@ -309,7 +307,7 @@ describe('#actions handler', () => { it('should return an empty array for 404 status code', async () => { const auth0 = { actions: { - getAll: () => { + list: () => { const error = new Error('Not found'); error.statusCode = 404; throw error; @@ -326,7 +324,7 @@ describe('#actions handler', () => { it('should return an empty array when the feature flag is disabled', async () => { const auth0 = { actions: { - getAll: () => { + list: () => { const error = new Error('Not enabled'); error.statusCode = 403; error.originalError = { @@ -350,7 +348,7 @@ describe('#actions handler', () => { it('should throw an error for all other failed requests', async () => { const auth0 = { actions: { - getAll: () => { + list: () => { const error = new Error('Bad request'); error.statusCode = 500; throw error; @@ -373,11 +371,11 @@ describe('#actions handler', () => { create: () => Promise.resolve({ data: [] }), update: () => Promise.resolve({ data: [] }), delete: (data) => { - expect(data).to.be.an('object'); - expect(data.id).to.equal('action-1'); + expect(data).to.be.a('string'); + expect(data).to.equal('action-1'); return Promise.resolve({ data }); }, - getAll: () => + list: () => mockPagedData({ include_totals: true }, 'actions', [ { id: 'action-1', @@ -451,7 +449,7 @@ describe('#actions handler', () => { const auth0 = { actions: { - getAll: () => Promise.resolve({ data: { actions: [marketplaceAction] } }), + list: () => Promise.resolve({ data: [marketplaceAction] }), delete: () => { wasDeleteCalled = true; }, diff --git a/test/tools/auth0/handlers/attackProtection.tests.js b/test/tools/auth0/handlers/attackProtection.tests.js index 91c14e356..259766353 100644 --- a/test/tools/auth0/handlers/attackProtection.tests.js +++ b/test/tools/auth0/handlers/attackProtection.tests.js @@ -6,38 +6,38 @@ describe('#attackProtection handler', () => { it('should fetch attack protection settings', async () => { const auth0 = { attackProtection: { - getBotDetectionConfig: () => ({ - data: { + botDetection: { + get: () => ({ bot_detection_level: 'medium', monitoring_mode_enabled: true, allowlist: ['10.0.0.0/24'], - }, - }), - getBreachedPasswordDetectionConfig: () => ({ - data: { + }), + }, + breachedPasswordDetection: { + get: () => ({ admin_notification_frequency: [], enabled: true, method: 'standard', shields: [], - }, - }), - getBruteForceConfig: () => ({ - data: { + }), + }, + bruteForceProtection: { + get: () => ({ allowlist: [], enabled: true, max_attempts: 10, mode: 'count_per_identifier_and_ip', shields: ['block', 'user_notification'], - }, - }), - getCaptchaConfig: () => ({ - data: { + }), + }, + captcha: { + get: () => ({ selected: 'friendly_captcha', policy: 'always', - }, - }), - getSuspiciousIpThrottlingConfig: () => ({ - data: { + }), + }, + suspiciousIpThrottling: { + get: () => ({ allowlist: ['127.0.0.1'], enabled: true, shields: ['block', 'admin_notification'], @@ -51,8 +51,8 @@ describe('#attackProtection handler', () => { rate: 1200, }, }, - }, - }), + }), + }, }, }; @@ -102,62 +102,72 @@ describe('#attackProtection handler', () => { it('should update attack protection settings', async () => { const auth0 = { attackProtection: { - updateBotDetectionConfig: (data) => { - expect(data).to.be.an('object'); - expect(data).to.deep.equal({ - bot_detection_level: 'medium', - monitoring_mode_enabled: false, - allowlist: ['10.0.0.0/24'], - }); - return Promise.resolve(data); + botDetection: { + update: (data) => { + expect(data).to.be.an('object'); + expect(data).to.deep.equal({ + bot_detection_level: 'medium', + monitoring_mode_enabled: false, + allowlist: ['10.0.0.0/24'], + }); + return Promise.resolve(data); + }, }, - updateBreachedPasswordDetectionConfig: (data) => { - expect(data).to.be.an('object'); - expect(data).to.deep.equal({ - admin_notification_frequency: [], - enabled: true, - method: 'standard', - shields: [], - }); - return Promise.resolve(data); + breachedPasswordDetection: { + update: (data) => { + expect(data).to.be.an('object'); + expect(data).to.deep.equal({ + admin_notification_frequency: [], + enabled: true, + method: 'standard', + shields: [], + }); + return Promise.resolve(data); + }, }, - updateCaptchaConfig: (data) => { - expect(data).to.be.an('object'); - expect(data).to.deep.equal({ - selected: 'friendly_captcha', - policy: 'always', - }); - return Promise.resolve(data); + captcha: { + update: (data) => { + expect(data).to.be.an('object'); + expect(data).to.deep.equal({ + selected: 'friendly_captcha', + policy: 'always', + }); + return Promise.resolve(data); + }, }, - updateSuspiciousIpThrottlingConfig: (data) => { - expect(data).to.be.an('object'); - expect(data).to.deep.equal({ - allowlist: ['127.0.0.1'], - enabled: true, - shields: ['block', 'admin_notification'], - stage: { - 'pre-login': { - max_attempts: 100, - rate: 864000, - }, - 'pre-user-registration': { - max_attempts: 50, - rate: 1200, + suspiciousIpThrottling: { + update: (data) => { + expect(data).to.be.an('object'); + expect(data).to.deep.equal({ + allowlist: ['127.0.0.1'], + enabled: true, + shields: ['block', 'admin_notification'], + stage: { + 'pre-login': { + max_attempts: 100, + rate: 864000, + }, + 'pre-user-registration': { + max_attempts: 50, + rate: 1200, + }, }, - }, - }); - return Promise.resolve(data); + }); + return Promise.resolve(data); + }, }, - updateBruteForceConfig: (data) => { - expect(data).to.be.an('object'); - expect(data).to.deep.equal({ - allowlist: [], - enabled: true, - max_attempts: 10, - mode: 'count_per_identifier_and_ip', - shields: ['block', 'user_notification'], - }); - return Promise.resolve(data); + bruteForceProtection: { + update: (data) => { + expect(data).to.be.an('object'); + expect(data).to.deep.equal({ + allowlist: [], + enabled: true, + max_attempts: 10, + mode: 'count_per_identifier_and_ip', + shields: ['block', 'user_notification'], + }); + return Promise.resolve(data); + }, }, }, }; @@ -213,35 +223,39 @@ describe('#attackProtection handler', () => { it('should handle 403 error when fetching bot detection and captcha configs', async () => { const auth0 = { attackProtection: { - getBotDetectionConfig: () => { - const err = new Error('Forbidden'); - err.statusCode = 403; - throw err; - }, - getCaptchaConfig: () => { - const err = new Error('Forbidden'); - err.statusCode = 403; - throw err; - }, - getBreachedPasswordDetectionConfig: () => ({ - data: { + botDetection: { + get: () => { + const err = new Error('Forbidden'); + err.statusCode = 403; + throw err; + }, + }, + captcha: { + get: () => { + const err = new Error('Forbidden'); + err.statusCode = 403; + throw err; + }, + }, + breachedPasswordDetection: { + get: () => ({ admin_notification_frequency: [], enabled: true, method: 'standard', shields: [], - }, - }), - getBruteForceConfig: () => ({ - data: { + }), + }, + bruteForceProtection: { + get: () => ({ allowlist: [], enabled: true, max_attempts: 10, mode: 'count_per_identifier_and_ip', shields: ['block', 'user_notification'], - }, - }), - getSuspiciousIpThrottlingConfig: () => ({ - data: { + }), + }, + suspiciousIpThrottling: { + get: () => ({ allowlist: ['127.0.0.1'], enabled: true, shields: ['block', 'admin_notification'], @@ -255,8 +269,8 @@ describe('#attackProtection handler', () => { rate: 1200, }, }, - }, - }), + }), + }, }, }; @@ -335,9 +349,15 @@ describe('#attackProtection handler', () => { it('should skip botDetection update when empty object', async () => { const auth0 = { attackProtection: { - updateBreachedPasswordDetectionConfig: (data) => Promise.resolve(data), - updateBruteForceConfig: (data) => Promise.resolve(data), - updateSuspiciousIpThrottlingConfig: (data) => Promise.resolve(data), + breachedPasswordDetection: { + update: (data) => Promise.resolve(data), + }, + bruteForceProtection: { + update: (data) => Promise.resolve(data), + }, + suspiciousIpThrottling: { + update: (data) => Promise.resolve(data), + }, }, }; @@ -377,9 +397,15 @@ describe('#attackProtection handler', () => { it('should skip captcha update when empty object', async () => { const auth0 = { attackProtection: { - updateBreachedPasswordDetectionConfig: (data) => Promise.resolve(data), - updateBruteForceConfig: (data) => Promise.resolve(data), - updateSuspiciousIpThrottlingConfig: (data) => Promise.resolve(data), + breachedPasswordDetection: { + update: (data) => Promise.resolve(data), + }, + bruteForceProtection: { + update: (data) => Promise.resolve(data), + }, + suspiciousIpThrottling: { + update: (data) => Promise.resolve(data), + }, }, }; @@ -420,13 +446,21 @@ describe('#attackProtection handler', () => { let capturedCaptcha; const auth0 = { attackProtection: { - updateCaptchaConfig: (data) => { - capturedCaptcha = data; - return Promise.resolve(data); + captcha: { + update: (data) => { + capturedCaptcha = data; + return Promise.resolve(data); + }, + }, + breachedPasswordDetection: { + update: (data) => Promise.resolve(data), + }, + bruteForceProtection: { + update: (data) => Promise.resolve(data), + }, + suspiciousIpThrottling: { + update: (data) => Promise.resolve(data), }, - updateBreachedPasswordDetectionConfig: (data) => Promise.resolve(data), - updateBruteForceConfig: (data) => Promise.resolve(data), - updateSuspiciousIpThrottlingConfig: (data) => Promise.resolve(data), }, }; @@ -475,25 +509,25 @@ describe('#attackProtection handler', () => { it('should return cached existing data on subsequent calls', async () => { const auth0 = { attackProtection: { - getBotDetectionConfig: () => ({ - data: { + botDetection: { + get: () => ({ bot_detection_level: 'medium', - }, - }), - getCaptchaConfig: () => ({ - data: { + }), + }, + captcha: { + get: () => ({ active_provider_id: 'friendly_captcha', - }, - }), - getBreachedPasswordDetectionConfig: () => ({ - data: { enabled: true }, - }), - getBruteForceConfig: () => ({ - data: { enabled: true }, - }), - getSuspiciousIpThrottlingConfig: () => ({ - data: { enabled: true }, - }), + }), + }, + breachedPasswordDetection: { + get: () => ({ enabled: true }), + }, + bruteForceProtection: { + get: () => ({ enabled: true }), + }, + suspiciousIpThrottling: { + get: () => ({ enabled: true }), + }, }, }; diff --git a/test/tools/auth0/handlers/branding.tests.js b/test/tools/auth0/handlers/branding.tests.js index d09efeb8b..1def32896 100644 --- a/test/tools/auth0/handlers/branding.tests.js +++ b/test/tools/auth0/handlers/branding.tests.js @@ -8,17 +8,17 @@ describe('#branding handler', () => { it('should get branding settings if no custom domain configured', async () => { const auth0 = { branding: { - getSettings: () => ({ - data: { - logo_url: 'https://example.com/logo.png', - }, - }), - getUniversalLoginTemplate: () => ({ - body: html, + get: () => ({ + logo_url: 'https://example.com/logo.png', }), + templates: { + getUniversalLogin: () => ({ + body: html, + }), + }, }, customDomains: { - getAll: () => [], // mock no custom domains + list: () => [], // mock no custom domains }, }; @@ -32,23 +32,19 @@ describe('#branding handler', () => { it('should get branding settings and templates if custom domain configured', async () => { const auth0 = { branding: { - getSettings: () => ({ - data: { - logo_url: 'https://example.com/logo.png', - }, + get: () => ({ + logo_url: 'https://example.com/logo.png', }), - getUniversalLoginTemplate: () => ({ - data: { + templates: { + getUniversalLogin: () => ({ body: html, - }, - }), + }), + }, }, customDomains: { - getAll: () => ({ - data: [ - {}, // mock one custom domain. - ], - }), + list: () => [ + {}, // mock one custom domain. + ], }, }; @@ -68,17 +64,17 @@ describe('#branding handler', () => { it('should return no templates if HTTP 403 error fetching custom domains', async () => { const auth0 = { branding: { - getSettings: () => ({ - data: { - logo_url: 'https://example.com/logo.png', - }, - }), - getUniversalLoginTemplate: () => ({ - body: html, + get: () => ({ + logo_url: 'https://example.com/logo.png', }), + templates: { + getUniversalLogin: () => ({ + body: html, + }), + }, }, customDomains: { - getAll: () => { + list: () => { const err = new Error('FakeHttpError'); err.statusCode = 403; return Promise.reject(err); @@ -96,17 +92,17 @@ describe('#branding handler', () => { it('should handle insufficient scope error and not export branding templates', async () => { const auth0 = { branding: { - getSettings: () => ({ - data: { - logo_url: 'https://example.com/logo.png', - }, - }), - getUniversalLoginTemplate: () => ({ - body: html, + get: () => ({ + logo_url: 'https://example.com/logo.png', }), + templates: { + getUniversalLogin: () => ({ + body: html, + }), + }, }, customDomains: { - getAll: () => { + list: () => { const err = new Error('Insufficient scope'); err.statusCode = 403; return Promise.reject(err); @@ -124,7 +120,7 @@ describe('#branding handler', () => { it('should update branding settings without templates if no templates set', (done) => { const auth0 = { branding: { - updateSettings: (data) => { + update: (data) => { try { expect(data).to.be.an('object'); expect(data.templates).to.equal(undefined); @@ -134,8 +130,10 @@ describe('#branding handler', () => { done(err); } }, - setUniversalLoginTemplate: () => { - done(new Error('setUniversalLoginTemplate should not have been called.')); + templates: { + updateUniversalLogin: () => { + done(new Error('updateUniversalLogin should not have been called.')); + }, }, }, }; @@ -155,7 +153,7 @@ describe('#branding handler', () => { it('should update branding settings and templates if templates set', (done) => { const auth0 = { branding: { - updateSettings: (data) => { + update: (data) => { try { expect(data).to.be.an('object'); expect(data.templates).to.equal(undefined); @@ -164,14 +162,16 @@ describe('#branding handler', () => { done(err); } }, - setUniversalLoginTemplate: (data) => { - try { - expect(data).to.be.an('object'); - expect(data.template).to.equal(html); - done(); - } catch (err) { - done(err); - } + templates: { + updateUniversalLogin: (data) => { + try { + expect(data).to.be.an('object'); + expect(data.template).to.equal(html); + done(); + } catch (err) { + done(err); + } + }, }, }, }; @@ -199,7 +199,7 @@ describe('#branding handler', () => { const auth0 = { branding: { - updateSettings: (data) => { + update: (data) => { expect(data).to.deep.equal({ colors: { primary: '#F8F8F2', @@ -241,10 +241,10 @@ describe('#branding handler', () => { const auth0 = { branding: { - updateSettings: () => { + update: () => { wasUpdateCalled = true; throw new Error( - 'updateSettings should not have been called because omitted `logo_url` means that no API request needs to be made.' + 'update should not have been called because omitted `logo_url` means that no API request needs to be made.' ); }, }, @@ -265,11 +265,13 @@ describe('#branding handler', () => { it('should not throw, and be no-op if branding not set in context', async () => { const auth0 = { branding: { - updateSettings: () => { - throw new Error('updateSettings should not have been called.'); + update: () => { + throw new Error('update should not have been called.'); }, - setUniversalLoginTemplate: () => { - throw new Error('setUniversalLoginTemplate should not have been called.'); + templates: { + updateUniversalLogin: () => { + throw new Error('updateUniversalLogin should not have been called.'); + }, }, }, }; diff --git a/test/tools/auth0/handlers/clientGrants.tests.js b/test/tools/auth0/handlers/clientGrants.tests.js index 8618e8c35..b799475d2 100644 --- a/test/tools/auth0/handlers/clientGrants.tests.js +++ b/test/tools/auth0/handlers/clientGrants.tests.js @@ -69,10 +69,10 @@ describe('#clientGrants handler', () => { }, update: () => Promise.resolve({ data: [] }), delete: () => Promise.resolve({ data: [] }), - getAll: (params) => mockPagedData(params, 'client_grants', []), + list: (params) => mockPagedData(params, 'client_grants', []), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; @@ -104,10 +104,10 @@ describe('#clientGrants handler', () => { }, update: () => Promise.resolve({ data: [] }), delete: () => Promise.resolve({ data: [] }), - getAll: (params) => mockPagedData(params, 'client_grants', []), + list: (params) => mockPagedData(params, 'client_grants', []), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; @@ -135,10 +135,10 @@ describe('#clientGrants handler', () => { }; const auth0 = { clientGrants: { - getAll: (params) => mockPagedData(params, 'client_grants', [clientGrant]), + list: (params) => mockPagedData(params, 'client_grants', [clientGrant]), }, clients: { - getAll: (params) => + list: (params) => mockPagedData(params, 'clients', [{ name: 'test client', client_id: clientId }]), }, pool, @@ -161,10 +161,10 @@ describe('#clientGrants handler', () => { }, update: () => Promise.resolve({ data: [] }), delete: () => Promise.resolve({ data: [] }), - getAll: (params) => mockPagedData(params, 'client_grants', []), + list: (params) => mockPagedData(params, 'client_grants', []), }, clients: { - getAll: (params) => + list: (params) => mockPagedData(params, 'clients', [{ client_id: 'client_id', name: 'client_name' }]), }, pool, @@ -191,10 +191,10 @@ describe('#clientGrants handler', () => { expect(data).to.equal({}); return Promise.resolve({ data }); }, - update: function (params, data) { + update: function (id, data) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal('cg1'); + expect(id).to.be.a('string'); + expect(id).to.equal('cg1'); expect(data).to.be.an('object'); expect(data.scope).to.be.an('array'); expect(data.scope[0]).to.equal('read:messages'); @@ -202,13 +202,13 @@ describe('#clientGrants handler', () => { return Promise.resolve({ data }); }, delete: () => Promise.resolve({ data: [] }), - getAll: (params) => + list: (params) => mockPagedData(params, 'client_grants', [ { id: 'cg1', client_id: 'client1', audience: 'audience' }, ]), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; @@ -235,22 +235,22 @@ describe('#clientGrants handler', () => { expect(data).to.equal({}); return Promise.resolve({ data }); }, - update: function (params, data) { + update: function (id, data) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal('cg1'); + expect(id).to.be.a('string'); + expect(id).to.equal('cg1'); expect(data).to.be.an('object'); expect(data.authorization_details_types).to.be.an('array'); return Promise.resolve({ data }); }, delete: () => Promise.resolve({ data: [] }), - getAll: (params) => + list: (params) => mockPagedData(params, 'client_grants', [ { id: 'cg1', client_id: 'client1', audience: 'audience' }, ]), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; @@ -281,18 +281,18 @@ describe('#clientGrants handler', () => { update: () => Promise.resolve({ data: [] }), delete: function (params) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal('cg1'); + expect(params).to.be.a('string'); + expect(params).to.equal('cg1'); return Promise.resolve({ data: [] }); }, - getAll: (params) => + list: (params) => mockPagedData(params, 'client_grants', [ { id: 'cg1', client_id: 'client1', audience: 'audience1' }, ]), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; @@ -329,13 +329,13 @@ describe('#clientGrants handler', () => { return Promise.resolve({ data: [] }); }, - getAll: (params) => + list: (params) => mockPagedData(params, 'client_grants', [ { id: 'id', client_id: 'client_id', audience: 'audience' }, ]), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; @@ -361,18 +361,18 @@ describe('#clientGrants handler', () => { update: () => Promise.resolve({ data: [] }), delete: function (params) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal('cg1'); + expect(params).to.be.a('string'); + expect(params).to.equal('cg1'); removed = true; return Promise.resolve({ data: [] }); }, - getAll: (params) => + list: (params) => mockPagedData(params, 'client_grants', [ { id: 'cg1', client_id: 'client1', audience: 'audience1' }, ]), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; @@ -399,13 +399,13 @@ describe('#clientGrants handler', () => { return Promise.resolve({ data: [] }); }, - getAll: (params) => + list: (params) => mockPagedData(params, 'client_grants', [ { id: 'cg1', client_id: 'client1', audience: 'audience1' }, ]), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; @@ -439,14 +439,14 @@ describe('#clientGrants handler', () => { return Promise.resolve({ data: [] }); }, - getAll: (params) => + list: (params) => mockPagedData(params, 'client_grants', [ { id: 'cg1', client_id: 'client1', audience: 'audience1' }, { id: 'cg2', client_id: 'client2', audience: 'audience2' }, ]), }, clients: { - getAll: (params) => + list: (params) => mockPagedData(params, 'clients', [ { name: 'client_delete', client_id: 'client1', audience: 'audience1' }, { name: 'client_update', client_id: 'client2', audience: 'audience2' }, @@ -497,7 +497,7 @@ describe('#clientGrants handler', () => { return Promise.resolve({ data: [] }); }, - getAll: (params) => + list: (params) => mockPagedData(params, 'client_grants', [ { client_id: '123', @@ -527,7 +527,7 @@ describe('#clientGrants handler', () => { ]), }, clients: { - getAll: (params) => + list: (params) => mockPagedData(params, 'clients', [ { name: 'abc', diff --git a/test/tools/auth0/handlers/clients.tests.js b/test/tools/auth0/handlers/clients.tests.js index e30ae7fc6..7eb85c7c1 100644 --- a/test/tools/auth0/handlers/clients.tests.js +++ b/test/tools/auth0/handlers/clients.tests.js @@ -1,3 +1,4 @@ +/* eslint-disable camelcase */ import pageClient from '../../../../src/tools/auth0/client'; const { expect } = require('chai'); @@ -90,7 +91,7 @@ describe('#clients handler', () => { }, update: () => Promise.resolve({ data: [] }), delete: () => Promise.resolve({ data: [] }), - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; @@ -133,7 +134,7 @@ describe('#clients handler', () => { }, update: () => Promise.resolve({ data: [] }), delete: () => Promise.resolve({ data: [] }), - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; @@ -183,7 +184,7 @@ describe('#clients handler', () => { }, update: () => Promise.resolve({ data: [] }), delete: () => Promise.resolve({ data: [] }), - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; @@ -223,7 +224,7 @@ describe('#clients handler', () => { }, update: () => Promise.resolve({ data: [] }), delete: () => Promise.resolve({ data: [] }), - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; @@ -255,7 +256,7 @@ describe('#clients handler', () => { }, update: () => Promise.resolve({ data: [] }), delete: () => Promise.resolve({ data: [] }), - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; @@ -284,7 +285,7 @@ describe('#clients handler', () => { }, update: () => Promise.resolve({ data: [] }), delete: () => Promise.resolve({ data: [] }), - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; @@ -297,7 +298,7 @@ describe('#clients handler', () => { it('should get clients', async () => { const auth0 = { clients: { - getAll: (params) => + list: (params) => mockPagedData(params, 'clients', [ { name: 'test client', client_id: 'FMfcgxvzLDvPsgpRFKkLVrnKqGgkHhQV' }, { name: 'deploy client', client_id: 'client_id' }, @@ -323,10 +324,10 @@ describe('#clients handler', () => { expect(data.length).to.equal(0); return Promise.resolve({ data }); }, - update: function (params, data) { + update: function (clientId, data) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.client_id).to.equal('client1'); + expect(clientId).to.be.a('string'); + expect(clientId).to.equal('client1'); expect(data).to.be.an('object'); expect(data.description).to.equal('new description'); expect(data.session_transfer).to.deep.equal({ @@ -338,7 +339,7 @@ describe('#clients handler', () => { return Promise.resolve({ data }); }, delete: () => Promise.resolve({ data: [] }), - getAll: (params) => + list: (params) => mockPagedData(params, 'clients', [ { client_id: 'client1', @@ -378,17 +379,17 @@ describe('#clients handler', () => { expect(data.length).to.equal(0); return Promise.resolve({ data }); }, - update: function (params, data) { + update: function (client_id, data) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.client_id).to.equal('client1'); + expect(client_id).to.be.a('string'); + expect(client_id).to.equal('client1'); expect(data).to.be.an('object'); expect(data.skip_non_verifiable_callback_uri_confirmation_prompt).to.equal(false); return Promise.resolve({ data }); }, delete: () => Promise.resolve({ data: [] }), - getAll: (params) => + list: (params) => mockPagedData(params, 'clients', [ { client_id: 'client1', @@ -426,11 +427,11 @@ describe('#clients handler', () => { update: () => Promise.resolve({ data: [] }), delete: function (params) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.client_id).to.equal('client1'); + expect(params).to.be.a('string'); + expect(params).to.equal('client1'); return Promise.resolve({ data: [] }); }, - getAll: (params) => + list: (params) => mockPagedData(params, 'clients', [ { client_id: 'client1', name: 'existingClient' }, { client_id: 'client_id', name: 'deploy client' }, @@ -453,12 +454,12 @@ describe('#clients handler', () => { update: () => Promise.resolve({ data: [] }), delete: function (params) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.client_id).to.equal('client1'); + expect(params).to.be.a('string'); + expect(params).to.equal('client1'); removed = true; return Promise.resolve({ data: [] }); }, - getAll: (params) => + list: (params) => mockPagedData(params, 'clients', [ { client_id: 'client1', name: 'existingClient' }, { client_id: 'client_id', name: 'deploy client' }, @@ -485,7 +486,7 @@ describe('#clients handler', () => { expect(params).to.be.an('undefined'); return Promise.resolve({ data: [] }); }, - getAll: (params) => + list: (params) => mockPagedData(params, 'clients', [{ client_id: 'client1', name: 'existingClient' }]), }, pool, @@ -514,7 +515,7 @@ describe('#clients handler', () => { expect(params).to.be.an('undefined'); return Promise.resolve({ data: [] }); }, - getAll: (params) => Promise.resolve(mockPagedData(params, 'clients', [])), + list: (params) => Promise.resolve(mockPagedData(params, 'clients', [])), }, pool, }; @@ -546,7 +547,7 @@ describe('#clients handler', () => { expect(params).to.be.an('undefined'); return Promise.resolve({ data: [] }); }, - getAll: (params) => + list: (params) => mockPagedData(params, 'clients', [ { client_id: 'client1', name: 'existingClient' }, { client_id: 'client2', name: 'existingClient2' }, @@ -574,21 +575,22 @@ describe('#clients handler', () => { expect(data.name).to.equal('Client 3'); return Promise.resolve({ data }); }, - update: function (data) { + update: function (clientId, data) { wasUpdateCalled = true; (() => expect(this).to.not.be.undefined)(); + expect(clientId).to.be.a('string'); + expect(clientId).to.equal('client-1'); expect(data).to.be.an('object'); - expect(data.client_id).to.equal('client-1'); return Promise.resolve({ data }); }, delete: function (data) { wasDeleteCalled = true; (() => expect(this).to.not.be.undefined)(); - expect(data).to.be.an('object'); - expect(data.client_id).to.equal('client-2'); + expect(data).to.be.a('string'); + expect(data).to.equal('client-2'); return Promise.resolve({ data }); }, - getAll: (params) => + list: (params) => mockPagedData(params, 'clients', [ { client_id: 'client-1', @@ -653,7 +655,7 @@ describe('#clients handler', () => { }, update: () => Promise.resolve({ data: [] }), delete: () => Promise.resolve({ data: [] }), - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; @@ -689,7 +691,7 @@ describe('#clients handler', () => { }, update: () => Promise.resolve({ data: [] }), delete: () => Promise.resolve({ data: [] }), - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; @@ -704,16 +706,16 @@ describe('#clients handler', () => { const auth0 = { clients: { create: () => Promise.resolve({ data: [] }), - update: function (params, data) { + update: function (client_id, data) { (() => expect(this).to.not.be.undefined)(); - expect(params.client_id).to.equal('client1'); + expect(client_id).to.equal('client1'); expect(data.organization_usage).to.equal('allow'); // organization_require_behavior should be preserved if not updated expect(data).to.not.have.property('organization_require_behavior'); return Promise.resolve({ data }); }, delete: () => Promise.resolve({ data: [] }), - getAll: (params) => + list: (params) => mockPagedData(params, 'clients', [ { client_id: 'client1', @@ -746,9 +748,9 @@ describe('#clients handler', () => { const auth0 = { clients: { create: () => Promise.resolve({ data: [] }), - update: function (params, data) { + update: function (client_id, data) { (() => expect(this).to.not.be.undefined)(); - expect(params.client_id).to.equal('client1'); + expect(client_id).to.equal('client1'); expect(data.organization_require_behavior).to.equal('post_login_prompt'); // eslint-disable-next-line no-unused-expressions expect(data.organization_discovery_methods).to.be.null; @@ -757,7 +759,7 @@ describe('#clients handler', () => { return Promise.resolve({ data }); }, delete: () => Promise.resolve({ data: [] }), - getAll: (params) => + list: (params) => mockPagedData(params, 'clients', [ { client_id: 'client1', diff --git a/test/tools/auth0/handlers/connections.tests.js b/test/tools/auth0/handlers/connections.tests.js index e30a4f610..b010be25c 100644 --- a/test/tools/auth0/handlers/connections.tests.js +++ b/test/tools/auth0/handlers/connections.tests.js @@ -14,6 +14,10 @@ const pool = { } return { promise: () => null }; }, + addSingleTask: (task) => { + const result = task.generator(task.data); + return { promise: () => Promise.resolve(result) }; + }, }; describe('#connections handler', () => { @@ -100,11 +104,15 @@ describe('#connections handler', () => { }, update: () => Promise.resolve({ data: [] }), delete: () => Promise.resolve({ data: [] }), - getAll: (params) => mockPagedData(params, 'connections', []), + list: (params) => mockPagedData(params, 'connections', []), _getRestClient: () => ({}), + clients: { + get: () => Promise.resolve(mockPagedData({}, 'clients', [])), + update: () => Promise.resolve({}), + }, }, clients: { - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; @@ -120,23 +128,20 @@ describe('#connections handler', () => { let getEnabledClientsCalledOnce = false; const auth0 = { connections: { - getAll: (params) => + list: (params) => mockPagedData(params, 'connections', [ { id: 'con1', strategy: 'github', name: 'github', enabled_clients: [clientId] }, { id: 'con2', strategy: 'auth0', name: 'db-should-be-ignored', enabled_clients: [] }, ]), - getEnabledClients: () => { - getEnabledClientsCalledOnce = true; - return Promise.resolve({ - data: { - clients: [{ client_id: clientId }], - next: null, - }, - }); + clients: { + get: () => { + getEnabledClientsCalledOnce = true; + return Promise.resolve(mockPagedData({}, 'clients', [{ client_id: clientId }])); + }, }, }, clients: { - getAll: (params) => + list: (params) => mockPagedData(params, 'clients', [{ name: 'test client', client_id: clientId }]), }, pool, @@ -158,10 +163,10 @@ describe('#connections handler', () => { expect(data).to.be.an('undefined'); return Promise.resolve({ data }); }, - update: function (params, data) { + update: function (id, data) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal('con1'); + expect(id).to.be.a('string'); + expect(id).to.equal('con1'); expect(data).to.deep.equal({ enabled_clients: ['YwqVtt8W3pw5AuEz3B2Kse9l2Ruy7Tec'], options: { passwordPolicy: 'testPolicy' }, @@ -169,21 +174,23 @@ describe('#connections handler', () => { connected_accounts: { active: false }, }); - return Promise.resolve({ data: { ...params, ...data } }); + return Promise.resolve({ ...data, id }); }, delete: () => Promise.resolve({ data: [] }), - getAll: (params) => + list: (params) => mockPagedData(params, 'connections', [ { name: 'someConnection', id: 'con1', strategy: 'custom' }, ]), _getRestClient: () => ({}), - updateEnabledClients: (params) => { - expect(params.id).to.equal('con1'); - return Promise.resolve({ data: [] }); + clients: { + update: (connectionId) => { + expect(connectionId).to.equal('con1'); + return Promise.resolve({}); + }, }, }, clients: { - getAll: (params) => + list: (params) => mockPagedData(params, 'clients', [ { name: 'client1', client_id: 'YwqVtt8W3pw5AuEz3B2Kse9l2Ruy7Tec' }, ]), @@ -252,18 +259,20 @@ describe('#connections handler', () => { return Promise.resolve({ data: { ...params, ...data } }); }, delete: () => Promise.resolve({ data: [] }), - getAll: (params) => + list: (params) => mockPagedData(params, 'connections', [ { name: 'someSamlConnection', id: 'con1', strategy: 'samlp' }, ]), - getEnabledClients: () => Promise.resolve({ data: [] }), - updateEnabledClients: (params) => { - expect(params.id).to.equal('con1'); - return Promise.resolve({ data: [] }); + clients: { + get: () => Promise.resolve({ data: [] }), + update: (connectionId, _payload) => { + expect(connectionId).to.equal('con1'); + return Promise.resolve([]); + }, }, }, clients: { - getAll: (params) => + list: (params) => mockPagedData(params, 'clients', [ { name: 'client1', client_id: 'YwqVtt8W3pw5AuEz3B2Kse9l2Ruy7Tec' }, { name: 'idp-one', client_id: 'YwqVtt8W3pw5AuEz3B2Kse9l2Ruy7Teb' }, @@ -346,19 +355,21 @@ describe('#connections handler', () => { return Promise.resolve({ data: { ...params, ...data } }); }, delete: () => Promise.resolve({ data: [] }), - getAll: (params) => + list: (params) => mockPagedData(params, 'connections', [ { name: 'someSamlConnection', id: 'con1', strategy: 'samlp' }, ]), _getRestClient: () => ({}), - getEnabledClients: () => Promise.resolve({ data: [] }), - updateEnabledClients: (params) => { - expect(params.id).to.equal('con1'); - return Promise.resolve({ data: [] }); + clients: { + get: () => Promise.resolve({ data: [] }), + update: (connectionId) => { + expect(connectionId).to.equal('con1'); + return Promise.resolve([]); + }, }, }, clients: { - getAll: (params) => + list: (params) => mockPagedData(params, 'clients', [ { name: 'client1', client_id: 'YwqVtt8W3pw5AuEz3B2Kse9l2Ruy7Tec' }, { name: 'idp-one', client_id: 'YwqVtt8W3pw5AuEz3B2Kse9l2Ruy7Teb' }, @@ -412,19 +423,19 @@ describe('#connections handler', () => { expect(data).to.be.an('undefined'); return Promise.resolve({ data }); }, - update: function (params, data) { + update: function (id, data) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal('con1'); + expect(id).to.be.a('string'); + expect(id).to.equal('con1'); expect(data).to.deep.equal({ enabled_clients: ['client1-id', 'excluded-one-id'], options: { passwordPolicy: 'testPolicy' }, }); - return Promise.resolve({ data: { ...params, ...data } }); + return Promise.resolve({ ...data, id }); }, delete: () => Promise.resolve({ data: [] }), - getAll: (params) => + list: (params) => mockPagedData(params, 'connections', [ { name: 'someConnection', @@ -434,14 +445,16 @@ describe('#connections handler', () => { }, ]), _getRestClient: () => ({}), - getEnabledClients: () => Promise.resolve({ data: [] }), - updateEnabledClients: (params) => { - expect(params.id).to.equal('con1'); - return Promise.resolve({ data: [] }); + clients: { + get: () => Promise.resolve(mockPagedData({}, 'clients', [])), + update: (connectionId) => { + expect(connectionId).to.equal('con1'); + return Promise.resolve({}); + }, }, }, clients: { - getAll: (params) => + list: (params) => mockPagedData(params, 'clients', [ { name: 'client1', client_id: 'client1-id' }, { name: 'excluded-one', client_id: 'excluded-one-id' }, @@ -481,19 +494,19 @@ describe('#connections handler', () => { update: () => Promise.resolve({ data: [] }), delete: function (params) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal('con1'); + expect(params).to.be.a('string'); + expect(params).to.equal('con1'); return Promise.resolve({ data: [] }); }, - getAll: (params) => + list: (params) => mockPagedData(params, 'connections', [ { id: 'con1', name: 'existingConnection', strategy: 'custom' }, ]), _getRestClient: () => ({}), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; @@ -518,19 +531,19 @@ describe('#connections handler', () => { update: () => Promise.resolve({ data: [] }), delete: function (params) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal('con1'); + expect(params).to.be.a('string'); + expect(params).to.equal('con1'); removed = true; return Promise.resolve({ data: [] }); }, - getAll: (params) => + list: (params) => mockPagedData(params, 'connections', [ { id: 'con1', name: 'existingConnection', strategy: 'custom' }, ]), _getRestClient: () => ({}), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; @@ -556,14 +569,14 @@ describe('#connections handler', () => { expect(params).to.be.an('undefined'); return Promise.resolve({ data: [] }); }, - getAll: (params) => + list: (params) => mockPagedData(params, 'connections', [ { id: 'con1', name: 'existingConnection', strategy: 'custom' }, ]), _getRestClient: () => ({}), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; @@ -593,14 +606,14 @@ describe('#connections handler', () => { expect(params).to.be.an('undefined'); return Promise.resolve({ data: [] }); }, - getAll: (params) => + list: (params) => mockPagedData(params, 'connections', [ { id: 'con1', name: 'existingConnection', strategy: 'custom' }, ]), _getRestClient: () => ({}), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; @@ -631,7 +644,7 @@ describe('#connections handler', () => { expect(params).to.be.an('undefined'); return Promise.resolve({ data: [] }); }, - getAll: (params) => + list: (params) => mockPagedData(params, 'connections', [ { id: 'con1', name: 'existing1', strategy: 'custom' }, { id: 'con2', name: 'existing2', strategy: 'custom' }, @@ -639,7 +652,7 @@ describe('#connections handler', () => { _getRestClient: () => ({}), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; @@ -671,9 +684,11 @@ describe('#connections enabled clients functionality', () => { // Mock Auth0 client mockAuth0Client = { connections: { - getEnabledClients: sinon.stub(), - updateEnabledClients: sinon.stub(), - getAll: sinon.stub(), + clients: { + get: sinon.stub(), + update: sinon.stub(), + }, + list: sinon.stub(), }, }; }); @@ -686,37 +701,28 @@ describe('#connections enabled clients functionality', () => { it('should return array of client IDs with single page', async () => { const connectionId = 'con_123'; const mockResponse = { - data: { - clients: [ - { client_id: 'client_1' }, - { client_id: 'client_2' }, - { client_id: 'client_3' }, - ], - next: null, - }, + data: [{ client_id: 'client_1' }, { client_id: 'client_2' }, { client_id: 'client_3' }], + hasNextPage: () => false, + getNextPage: async () => ({ data: [], hasNextPage: () => false }), }; - mockAuth0Client.connections.getEnabledClients.resolves(mockResponse); + mockAuth0Client.connections.clients.get.resolves(mockResponse); const result = await getConnectionEnabledClients(mockAuth0Client, connectionId); expect(result).to.deep.equal(['client_1', 'client_2', 'client_3']); - sinon.assert.calledOnceWithExactly(mockAuth0Client.connections.getEnabledClients, { - id: connectionId, - take: 50, - }); + sinon.assert.calledOnceWithExactly(mockAuth0Client.connections.clients.get, connectionId); }); it('should return empty array when no enabled clients', async () => { const connectionId = 'con_123'; const mockResponse = { - data: { - clients: [], - next: null, - }, + data: [], + hasNextPage: () => false, + getNextPage: async () => ({ data: [], hasNextPage: () => false }), }; - mockAuth0Client.connections.getEnabledClients.resolves(mockResponse); + mockAuth0Client.connections.clients.get.resolves(mockResponse); const result = await getConnectionEnabledClients(mockAuth0Client, connectionId); @@ -730,7 +736,7 @@ describe('#connections enabled clients functionality', () => { const enabledClientIds = ['client_1', 'client_2', 'client_3']; const typeName = 'connection'; - mockAuth0Client.connections.updateEnabledClients.resolves(); + mockAuth0Client.connections.clients.update.resolves(); const result = await updateConnectionEnabledClients( mockAuth0Client, @@ -740,15 +746,11 @@ describe('#connections enabled clients functionality', () => { ); expect(result).to.equal(true); - sinon.assert.calledOnceWithExactly( - mockAuth0Client.connections.updateEnabledClients, - { id: connectionId }, - [ - { client_id: 'client_1', status: true }, - { client_id: 'client_2', status: true }, - { client_id: 'client_3', status: true }, - ] - ); + sinon.assert.calledOnceWithExactly(mockAuth0Client.connections.clients.update, connectionId, [ + { client_id: 'client_1', status: true }, + { client_id: 'client_2', status: true }, + { client_id: 'client_3', status: true }, + ]); }); it('should update enabled clients with more than 50 clients', async () => { @@ -756,7 +758,7 @@ describe('#connections enabled clients functionality', () => { const enabledClientIds = Array.from({ length: 60 }, (_, i) => `client_${i + 1}`); const typeName = 'connection'; - mockAuth0Client.connections.updateEnabledClients.resolves(); + mockAuth0Client.connections.clients.update.resolves(); const result = await updateConnectionEnabledClients( mockAuth0Client, @@ -766,16 +768,16 @@ describe('#connections enabled clients functionality', () => { ); expect(result).to.equal(true); - sinon.assert.calledTwice(mockAuth0Client.connections.updateEnabledClients); + sinon.assert.calledTwice(mockAuth0Client.connections.clients.update); - const firstCall = mockAuth0Client.connections.updateEnabledClients.getCall(0); - expect(firstCall.args[0]).to.deep.equal({ id: connectionId }); + const firstCall = mockAuth0Client.connections.clients.update.getCall(0); + expect(firstCall.args[0]).to.equal(connectionId); expect(firstCall.args[1]).to.have.length(50); expect(firstCall.args[1][0]).to.deep.equal({ client_id: 'client_1', status: true }); expect(firstCall.args[1][49]).to.deep.equal({ client_id: 'client_50', status: true }); - const secondCall = mockAuth0Client.connections.updateEnabledClients.getCall(1); - expect(secondCall.args[0]).to.deep.equal({ id: connectionId }); + const secondCall = mockAuth0Client.connections.clients.update.getCall(1); + expect(secondCall.args[0]).to.equal(connectionId); expect(secondCall.args[1]).to.have.length(10); expect(secondCall.args[1][0]).to.deep.equal({ client_id: 'client_51', status: true }); expect(secondCall.args[1][9]).to.deep.equal({ client_id: 'client_60', status: true }); @@ -801,29 +803,25 @@ describe('#connections enabled clients functionality', () => { conflicts: [], }; - // Mock getAll to return newly created connections - mockAuth0Client.connections.getAll + // Mock list to return newly created connections + mockAuth0Client.connections.list .onFirstCall() .resolves({ - data: { - connections: [{ id: 'con_new_1', name: 'new-connection-1' }], - }, + data: [{ id: 'con_new_1', name: 'new-connection-1' }], }) .onSecondCall() .resolves({ - data: { - connections: [{ id: 'con_new_2', name: 'new-connection-2' }], - }, + data: [{ id: 'con_new_2', name: 'new-connection-2' }], }); // Mock updateEnabledClients - mockAuth0Client.connections.updateEnabledClients.resolves(); + mockAuth0Client.connections.clients.update.resolves(); await processConnectionEnabledClients(mockAuth0Client, typeName, changes); sinon.assert.calledOnceWithExactly(sleepStub, 2500); - sinon.assert.calledTwice(mockAuth0Client.connections.getAll); - sinon.assert.calledTwice(mockAuth0Client.connections.updateEnabledClients); + sinon.assert.calledTwice(mockAuth0Client.connections.list); + sinon.assert.calledTwice(mockAuth0Client.connections.clients.update); }); it('should process update operations', async () => { @@ -837,12 +835,12 @@ describe('#connections enabled clients functionality', () => { conflicts: [], }; - mockAuth0Client.connections.updateEnabledClients.resolves(); + mockAuth0Client.connections.clients.update.resolves(); await processConnectionEnabledClients(mockAuth0Client, typeName, changes); sinon.assert.notCalled(sleepStub); - sinon.assert.calledTwice(mockAuth0Client.connections.updateEnabledClients); + sinon.assert.calledTwice(mockAuth0Client.connections.clients.update); }); it('should process conflict operations', async () => { @@ -853,11 +851,11 @@ describe('#connections enabled clients functionality', () => { conflicts: [{ id: 'con_1', name: 'conflict-connection-1', enabled_clients: ['client_1'] }], }; - mockAuth0Client.connections.updateEnabledClients.resolves(); + mockAuth0Client.connections.clients.update.resolves(); await processConnectionEnabledClients(mockAuth0Client, typeName, changes); - sinon.assert.calledOnce(mockAuth0Client.connections.updateEnabledClients); + sinon.assert.calledOnce(mockAuth0Client.connections.clients.update); }); it('should handle database type connections differently', async () => { @@ -868,20 +866,18 @@ describe('#connections enabled clients functionality', () => { conflicts: [], }; - mockAuth0Client.connections.getAll.resolves({ - data: { - connections: [{ id: 'con_db_1', name: 'new-db-connection' }], - }, + mockAuth0Client.connections.list.resolves({ + data: [{ id: 'con_db_1', name: 'new-db-connection' }], }); - mockAuth0Client.connections.updateEnabledClients.resolves(); + mockAuth0Client.connections.clients.update.resolves(); await processConnectionEnabledClients(mockAuth0Client, typeName, changes); - sinon.assert.calledWith(mockAuth0Client.connections.getAll, { + sinon.assert.calledWith(mockAuth0Client.connections.list, { name: 'new-db-connection', take: 1, strategy: ['auth0'], - include_totals: true, + include_fields: true, }); }); }); @@ -914,39 +910,34 @@ describe('#connections enabled clients functionality', () => { describe('#getType with enabled clients', () => { it('should fetch and include enabled clients in connection data', async () => { + const getEnabledClientsStub = sinon.stub(); const auth0 = { connections: { - getAll: (params) => + list: (params) => mockPagedData(params, 'connections', [ { id: 'con_1', strategy: 'github', name: 'github-connection' }, { id: 'con_2', strategy: 'google', name: 'google-connection' }, { strategy: 'auth0', name: 'db-should-be-ignored' }, // Should be filtered out ]), - getEnabledClients: sinon.stub(), + clients: { + get: getEnabledClientsStub, + }, _getRestClient: () => ({}), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; // Mock enabled clients responses - auth0.connections.getEnabledClients - .withArgs({ id: 'con_1', take: 50 }) - .resolves({ - data: { - clients: [{ client_id: 'client_1' }, { client_id: 'client_2' }], - next: null, - }, - }) - .withArgs({ id: 'con_2', take: 50 }) - .resolves({ - data: { - clients: [{ client_id: 'client_3' }], - next: null, - }, - }); + getEnabledClientsStub + .withArgs('con_1') + .resolves( + mockPagedData({}, 'clients', [{ client_id: 'client_1' }, { client_id: 'client_2' }]) + ) + .withArgs('con_2') + .resolves(mockPagedData({}, 'clients', [{ client_id: 'client_3' }])); const handler = new connections.default({ client: pageClient(auth0), config }); handler.scimHandler = scimHandlerMock; @@ -971,7 +962,7 @@ describe('#connections enabled clients functionality', () => { it('should handle connections without enabled clients', async () => { const auth0 = { connections: { - getAll: (params) => + list: (params) => mockPagedData(params, 'connections', [ { id: 'con_1', strategy: 'github', name: 'github-connection' }, ]), @@ -979,7 +970,7 @@ describe('#connections enabled clients functionality', () => { _getRestClient: () => ({}), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; @@ -1013,11 +1004,11 @@ describe('#connections enabled clients functionality', () => { create: sinon.stub().resolves({ data: {} }), update: sinon.stub().resolves({ data: {} }), delete: sinon.stub().resolves({ data: {} }), - getAll: (params) => mockPagedData(params, 'connections', []), + list: (params) => mockPagedData(params, 'connections', []), _getRestClient: () => ({}), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; @@ -1050,11 +1041,11 @@ describe('#connections enabled clients functionality', () => { create: sinon.stub().resolves({ data: {} }), update: sinon.stub().resolves({ data: {} }), delete: sinon.stub().resolves({ data: {} }), - getAll: (params) => mockPagedData(params, 'connections', []), + list: (params) => mockPagedData(params, 'connections', []), _getRestClient: () => ({}), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; diff --git a/test/tools/auth0/handlers/customDomains.test.ts b/test/tools/auth0/handlers/customDomains.test.ts index 6db7d10f4..49fe6340a 100644 --- a/test/tools/auth0/handlers/customDomains.test.ts +++ b/test/tools/auth0/handlers/customDomains.test.ts @@ -25,7 +25,7 @@ describe('#customDomains handler', () => { it('should get custom domains', async () => { const auth0ApiClientMock = { customDomains: { - getAll: async () => customDomains, + list: async () => customDomains, create: async () => ({ data: customDomains[0] }), update: async () => ({ data: {} }), delete: async () => ({ data: {} }), @@ -47,7 +47,7 @@ describe('#customDomains handler', () => { it('should return null when retrieving domains on unsupported tenant', async () => { const auth0ApiClientMock = { customDomains: { - getAll: async () => { + list: async () => { throw { statusCode: 403, message: @@ -81,7 +81,7 @@ describe('#customDomains handler', () => { it('should handle error gracefully if custom domains not supported by tenant', async () => { const auth0ApiClientMock = { customDomains: { - getAll: async () => { + list: async () => { throw unsupportedTenantError; }, create: async () => {}, @@ -109,10 +109,10 @@ describe('#customDomains handler', () => { const auth0ApiClientMock = { customDomains: { - getAll: async () => [], - create: async (args) => { + list: async () => [], + create: async (_args) => { didCreateFunctionGetCalled = true; - expect(args).to.deep.equal({ + expect(_args).to.deep.equal({ domain: customDomains[0].domain, type: customDomains[0].type, tls_policy: customDomains[0].tls_policy, @@ -152,10 +152,10 @@ describe('#customDomains handler', () => { const auth0ApiClientMock = { customDomains: { - getAll: async () => { + list: async () => { throw unsupportedTenantError; }, - create: async (args) => { + create: async (_args: unknown) => { didCreateFunctionGetCalled = true; return customDomains[0]; }, @@ -192,7 +192,7 @@ describe('#customDomains handler', () => { const auth0ApiClientMock = { customDomains: { - getAll: async () => customDomains, + list: async () => customDomains, create: async () => { didCreateFunctionGetCalled = true; }, @@ -231,7 +231,7 @@ describe('#customDomains handler', () => { const auth0ApiClientMock = { customDomains: { - getAll: async () => customDomains, + list: async () => customDomains, create: async () => { didCreateFunctionGetCalled = true; }, @@ -270,7 +270,7 @@ describe('#customDomains handler', () => { const auth0ApiClientMock = { customDomains: { - getAll: async () => [], + list: async () => [], create: async () => { didCreateFunctionGetCalled = true; }, @@ -322,16 +322,16 @@ describe('#customDomains handler', () => { const auth0ApiClientMock = { customDomains: { - getAll: async () => [existingCustomDomain], + list: async () => [existingCustomDomain], create: async () => {}, update: async (args, data) => { didUpdateFunctionGetCalled = true; - expect(args).to.deep.equal({ id: 'cd_123' }); + expect(args).to.equal('cd_123'); expect(data).to.deep.equal({ tls_policy: 'recommended', domain_metadata: { environment: 'production' }, }); - return { data: updatedCustomDomain }; + return updatedCustomDomain; }, delete: async () => {}, }, @@ -375,11 +375,11 @@ describe('#customDomains handler', () => { const auth0ApiClientMock = { customDomains: { - getAll: async () => [existingCustomDomain], + list: async () => [existingCustomDomain], create: async () => {}, update: async (args, data) => { updateCallData = data; - return { data: {} }; + return {}; }, delete: async () => {}, }, @@ -429,11 +429,11 @@ describe('#customDomains handler', () => { const auth0ApiClientMock = { customDomains: { - getAll: async () => [], + list: async () => [], create: async (args) => { didCreateFunctionGetCalled = true; createCallArgs = args; - return { data: customDomainWithMetadata }; + return customDomainWithMetadata; }, update: async () => {}, delete: async () => {}, @@ -474,11 +474,11 @@ describe('#customDomains handler', () => { const auth0ApiClientMock = { customDomains: { - getAll: async () => [], + list: async () => [], create: async (args) => { didCreateFunctionGetCalled = true; createCallArgs = args; - return { data: customDomainWithTlsPolicy }; + return customDomainWithTlsPolicy; }, update: async () => {}, delete: async () => {}, @@ -518,11 +518,11 @@ describe('#customDomains handler', () => { const auth0ApiClientMock = { customDomains: { - getAll: async () => [], + list: async () => [], create: async (args) => { didCreateFunctionGetCalled = true; createCallArgs = args; - return { data: customDomainWithBothFields }; + return customDomainWithBothFields; }, update: async () => {}, delete: async () => {}, diff --git a/test/tools/auth0/handlers/databases.tests.js b/test/tools/auth0/handlers/databases.tests.js index 836099024..4bfa45514 100644 --- a/test/tools/auth0/handlers/databases.tests.js +++ b/test/tools/auth0/handlers/databases.tests.js @@ -13,6 +13,10 @@ const pool = { } return { promise: () => null }; }, + addSingleTask: (task) => { + const result = task.generator(task.data); + return { promise: () => Promise.resolve(result) }; + }, }; describe('#databases handler', () => { @@ -87,10 +91,10 @@ describe('#databases handler', () => { }, update: () => Promise.resolve({ data: [] }), delete: () => Promise.resolve({ data: [] }), - getAll: (params) => mockPagedData(params, 'connections', []), + list: (params) => mockPagedData(params, 'connections', []), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; @@ -140,10 +144,10 @@ describe('#databases handler', () => { expect(data.options.attributes.username.identifier.active).to.equal(true); return Promise.resolve({ data }); }, - getAll: (params) => mockPagedData(params, 'connections', []), + list: (params) => mockPagedData(params, 'connections', []), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; @@ -182,10 +186,10 @@ describe('#databases handler', () => { expect(data.options.attributes.username.identifier.active).to.equal(true); return Promise.resolve({ data }); }, - getAll: (params) => mockPagedData(params, 'connections', []), + list: (params) => mockPagedData(params, 'connections', []), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; @@ -217,22 +221,22 @@ describe('#databases handler', () => { it('should successfully update database when email.unique is not mentioned and email.identifier.active is true', async () => { const auth0 = { connections: { - get: function (params) { - expect(params.id).to.equal('con1'); - return Promise.resolve({ data: { options: { someOldOption: true } } }); + get: function (id) { + expect(id).to.equal('con1'); + return Promise.resolve({ options: { someOldOption: true } }); }, - update: function (params, data) { - expect(params.id).to.equal('con1'); + update: function (id, data) { + expect(id).to.equal('con1'); expect(data.options.attributes.email.identifier.active).to.equal(true); - return Promise.resolve({ data: { ...params, ...data } }); + return Promise.resolve({ data: { id, ...data } }); }, - getAll: (params) => + list: (params) => mockPagedData(params, 'connections', [ { name: 'testDatabase', id: 'con1', strategy: 'auth0' }, ]), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; @@ -297,24 +301,21 @@ describe('#databases handler', () => { let getEnabledClientsCalledOnce = false; const auth0 = { connections: { - getAll: function (params) { + list: function (params) { (() => expect(this).to.not.be.undefined)(); return mockPagedData(params, 'connections', [ { id: 'con1', strategy: 'auth0', name: 'db', enabled_clients: [clientId] }, ]); }, - getEnabledClients: () => { - getEnabledClientsCalledOnce = true; - return Promise.resolve({ - data: { - clients: [{ client_id: clientId }], - next: null, - }, - }); + clients: { + get: () => { + getEnabledClientsCalledOnce = true; + return Promise.resolve(mockPagedData({}, 'clients', [{ client_id: clientId }])); + }, }, }, clients: { - getAll: function (params) { + list: function (params) { (() => expect(this).to.not.be.undefined)(); return mockPagedData(params, 'clients', [{ name: 'test client', client_id: clientId }]); }, @@ -333,40 +334,43 @@ describe('#databases handler', () => { it('should update database', async () => { const auth0 = { connections: { - get: function (params) { + get: function (id) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal('con1'); - return Promise.resolve({ data: { options: { someOldOption: true } } }); + expect(id).to.be.a('string'); + expect(id).to.equal('con1'); + return Promise.resolve({ options: { someOldOption: true } }); }, create: function (data) { (() => expect(this).to.not.be.undefined)(); expect(data).to.be.an('undefined'); return Promise.resolve({ data }); }, - update: function (params, data) { + update: function (id, data) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal('con1'); + expect(id).to.be.a('string'); + expect(id).to.equal('con1'); expect(data).to.deep.equal({ enabled_clients: ['YwqVtt8W3pw5AuEz3B2Kse9l2Ruy7Tec'], options: { passwordPolicy: 'testPolicy', someOldOption: true }, }); - return Promise.resolve({ data: { ...params, ...data } }); + return Promise.resolve({ ...data, id }); }, delete: () => Promise.resolve({ data: [] }), - getAll: (params) => + list: (params) => mockPagedData(params, 'connections', [ { name: 'someDatabase', id: 'con1', strategy: 'auth0' }, ]), - updateEnabledClients: (params) => { - expect(params.id).to.equal('con1'); - return Promise.resolve({ data: [] }); + clients: { + get: () => Promise.resolve(mockPagedData({}, 'clients', [])), + update: (connectionId) => { + expect(connectionId).to.equal('con1'); + return Promise.resolve({}); + }, }, }, clients: { - getAll: (params) => + list: (params) => mockPagedData(params, 'clients', [ { name: 'client1', client_id: 'YwqVtt8W3pw5AuEz3B2Kse9l2Ruy7Tec' }, ]), @@ -393,29 +397,29 @@ describe('#databases handler', () => { it('should handle excluded clients properly', async () => { const auth0 = { connections: { - get: (params) => { - expect(params).to.be.an('object'); - expect(params.id).to.equal('con1'); - return Promise.resolve({ data: { options: { someOldOption: true } } }); + get: (id) => { + expect(id).to.be.a('string'); + expect(id).to.equal('con1'); + return Promise.resolve({ options: { someOldOption: true } }); }, create: function (data) { (() => expect(this).to.not.be.undefined)(); expect(data).to.be.an('undefined'); return Promise.resolve({ data }); }, - update: function (params, data) { + update: function (id, data) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal('con1'); + expect(id).to.be.a('string'); + expect(id).to.equal('con1'); expect(data).to.deep.equal({ enabled_clients: ['client1-id', 'excluded-one-id'], options: { passwordPolicy: 'testPolicy', someOldOption: true }, }); - return Promise.resolve({ data: { ...params, ...data } }); + return Promise.resolve({ ...data, id }); }, delete: () => Promise.resolve({ data: [] }), - getAll: (params) => + list: (params) => mockPagedData(params, 'connections', [ { name: 'someDatabase', @@ -424,14 +428,16 @@ describe('#databases handler', () => { enabled_clients: ['excluded-one-id'], }, ]), - getEnabledClients: () => Promise.resolve({ data: [] }), - updateEnabledClients: (params) => { - expect(params.id).to.equal('con1'); - return Promise.resolve({ data: [] }); + clients: { + get: () => Promise.resolve(mockPagedData({}, 'clients', [])), + update: (connectionId) => { + expect(connectionId).to.equal('con1'); + return Promise.resolve({}); + }, }, }, clients: { - getAll: (params) => + list: (params) => mockPagedData(params, 'clients', [ { name: 'client1', client_id: 'client1-id' }, { name: 'excluded-one', client_id: 'excluded-one-id' }, @@ -460,9 +466,9 @@ describe('#databases handler', () => { it('should update database without "enabled_clients" setting', async () => { const auth0 = { connections: { - get: (params) => { - expect(params).to.be.an('object'); - expect(params.id).to.equal('con1'); + get: (id) => { + expect(id).to.be.a('string'); + expect(id).to.equal('con1'); return Promise.resolve({ data: {} }); }, create: function (data) { @@ -470,28 +476,31 @@ describe('#databases handler', () => { expect(data).to.be.an('undefined'); return Promise.resolve({ data }); }, - update: function (params, data) { + update: function (id, data) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal('con1'); + expect(id).to.be.a('string'); + expect(id).to.equal('con1'); expect(data).to.deep.equal({ options: { passwordPolicy: 'testPolicy' }, }); - return Promise.resolve({ data: { ...params, ...data } }); + return Promise.resolve({ ...data, id }); }, delete: () => Promise.resolve([]), - getAll: (params) => + list: (params) => mockPagedData(params, 'connections', [ { name: 'someDatabase', id: 'con1', strategy: 'auth0' }, ]), - updateEnabledClients: (params) => { - expect(params.id).to.be.undefined(); - return false; + clients: { + get: () => Promise.resolve(mockPagedData({}, 'clients', [])), + update: (connectionId) => { + expect(connectionId).to.be.undefined(); + return false; + }, }, }, clients: { - getAll: (params) => + list: (params) => mockPagedData(params, 'clients', [ { name: 'client1', client_id: 'YwqVtt8W3pw5AuEz3B2Kse9l2Ruy7Tec' }, ]), @@ -524,18 +533,18 @@ describe('#databases handler', () => { update: () => Promise.resolve([]), delete: function (params) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal('con1'); + expect(params).to.be.a('string'); + expect(params).to.equal('con1'); return Promise.resolve({ data: [] }); }, - getAll: (params) => + list: (params) => mockPagedData(params, 'connections', [ { id: 'con1', name: 'existingConnection', strategy: 'auth0' }, ]), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; @@ -560,18 +569,18 @@ describe('#databases handler', () => { update: () => Promise.resolve({ data: [] }), delete: function (params) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal('con1'); + expect(params).to.be.a('string'); + expect(params).to.equal('con1'); removed = true; return Promise.resolve({ data: [] }); }, - getAll: (params) => + list: (params) => mockPagedData(params, 'connections', [ { id: 'con1', name: 'existingConnection', strategy: 'auth0' }, ]), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; @@ -589,18 +598,18 @@ describe('#databases handler', () => { connections: { create: (data) => Promise.resolve(data), update: () => Promise.resolve([]), - delete: function (params) { + delete: function (id) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('undefined'); + expect(id).to.be.an('undefined'); return Promise.resolve({ data: [] }); }, - getAll: (params) => + list: (params) => mockPagedData(params, 'connections', [ { id: 'con1', name: 'existingConnection', strategy: 'auth0' }, ]), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; @@ -625,18 +634,18 @@ describe('#databases handler', () => { connections: { create: () => Promise.resolve({ data: undefined }), update: () => Promise.resolve({ data: [] }), - delete: function (params) { + delete: function (id) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('undefined'); + expect(id).to.be.an('undefined'); return Promise.resolve({ data: [] }); }, - getAll: (params) => + list: (params) => mockPagedData(params, 'connections', [ { id: 'con1', name: 'existingConnection', strategy: 'auth0' }, ]), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; @@ -654,27 +663,25 @@ describe('#databases handler', () => { }; const auth0 = { connections: { - create: (params) => { - expect(params).to.be.an('undefined'); + create: () => { return Promise.resolve({ data: [] }); }, - update: (params) => { - expect(params).to.be.an('undefined'); + update: () => { return Promise.resolve({ data: [] }); }, - delete: function (params) { + delete: function (id) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('undefined'); + expect(id).to.be.an('undefined'); return Promise.resolve({ data: [] }); }, - getAll: (params) => + list: (params) => mockPagedData(params, 'connections', [ { id: 'con1', name: 'existing1', strategy: 'auth0' }, { id: 'con2', name: 'existing2', strategy: 'auth0' }, ]), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; @@ -694,10 +701,10 @@ describe('#databases handler', () => { it('should update database when attributes are passed', async () => { const auth0 = { connections: { - get: function (params) { + get: function (id) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal('con1'); + expect(id).to.be.a('string'); + expect(id).to.equal('con1'); return Promise.resolve({ options: { someOldOption: true } }); }, create: function (data) { @@ -705,10 +712,10 @@ describe('#databases handler', () => { expect(data).to.be.an('undefined'); return Promise.resolve(data); }, - update: function (params, data) { + update: function (id, data) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal('con1'); + expect(id).to.be.a('string'); + expect(id).to.equal('con1'); expect(data).to.deep.equal({ attributes: { email: { @@ -745,13 +752,13 @@ describe('#databases handler', () => { options: { passwordPolicy: 'testPolicy', someOldOption: true }, }); - return Promise.resolve({ ...params, ...data }); + return Promise.resolve({ ...data, id }); }, delete: () => Promise.resolve([]), - getAll: () => [{ name: 'someDatabase', id: 'con1', strategy: 'auth0' }], + list: () => [{ name: 'someDatabase', id: 'con1', strategy: 'auth0' }], }, clients: { - getAll: () => [{ name: 'client1', client_id: 'YwqVtt8W3pw5AuEz3B2Kse9l2Ruy7Tec' }], + list: () => [{ name: 'client1', client_id: 'YwqVtt8W3pw5AuEz3B2Kse9l2Ruy7Tec' }], }, pool, }; @@ -804,10 +811,10 @@ describe('#databases handler', () => { it('should update database when require username and validation are passed', async () => { const auth0 = { connections: { - get: function (params) { + get: function (id) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal('con1'); + expect(id).to.be.a('string'); + expect(id).to.equal('con1'); return Promise.resolve({ options: { someOldOption: true } }); }, create: function (data) { @@ -815,10 +822,10 @@ describe('#databases handler', () => { expect(data).to.be.an('undefined'); return Promise.resolve(data); }, - update: function (params, data) { + update: function (id, data) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal('con1'); + expect(id).to.be.a('string'); + expect(id).to.equal('con1'); expect(data).to.deep.equal({ validation: { username: { @@ -830,13 +837,13 @@ describe('#databases handler', () => { options: { passwordPolicy: 'testPolicy', someOldOption: true }, }); - return Promise.resolve({ ...params, ...data }); + return Promise.resolve({ ...data, id }); }, delete: () => Promise.resolve([]), - getAll: () => [{ name: 'someDatabase', id: 'con1', strategy: 'auth0' }], + list: () => [{ name: 'someDatabase', id: 'con1', strategy: 'auth0' }], }, clients: { - getAll: () => [{ name: 'client1', client_id: 'YwqVtt8W3pw5AuEz3B2Kse9l2Ruy7Tec' }], + list: () => [{ name: 'client1', client_id: 'YwqVtt8W3pw5AuEz3B2Kse9l2Ruy7Tec' }], }, pool, }; @@ -887,10 +894,10 @@ describe('#databases handler', () => { get: getStub, update: updateStub, delete: deleteStub, - getAll: getAllStub, + list: getAllStub, }, clients: { - getAll: sinon + list: sinon .stub() .resolves([{ name: 'client1', client_id: 'YwqVtt8W3pw5AuEz3B2Kse9l2Ruy7Tec' }]), }, @@ -1040,10 +1047,10 @@ describe('#databases handler', () => { get: getStub, update: updateStub, delete: deleteStub, - getAll: getAllStub, + list: getAllStub, }, clients: { - getAll: sinon + list: sinon .stub() .resolves([{ name: 'client1', client_id: 'YwqVtt8W3pw5AuEz3B2Kse9l2Ruy7Tec' }]), }, @@ -1226,10 +1233,10 @@ describe('#databases handler', () => { get: getStub, update: updateStub, delete: deleteStub, - getAll: getAllStub, + list: getAllStub, }, clients: { - getAll: sinon + list: sinon .stub() .resolves([{ name: 'client1', client_id: 'YwqVtt8W3pw5AuEz3B2Kse9l2Ruy7Tec' }]), }, @@ -1309,10 +1316,10 @@ describe('#databases handler', () => { it('should update database when attributes are passed', async () => { const auth0 = { connections: { - get: function (params) { + get: function (id) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal('con1'); + expect(id).to.be.a('string'); + expect(id).to.equal('con1'); return Promise.resolve({ options: { someOldOption: true } }); }, create: function (data) { @@ -1320,10 +1327,10 @@ describe('#databases handler', () => { expect(data).to.be.an('undefined'); return Promise.resolve(data); }, - update: function (params, data) { + update: function (id, data) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal('con1'); + expect(id).to.be.a('string'); + expect(id).to.equal('con1'); expect(data).to.deep.equal({ attributes: { email: { @@ -1360,13 +1367,13 @@ describe('#databases handler', () => { options: { passwordPolicy: 'testPolicy', someOldOption: true }, }); - return Promise.resolve({ ...params, ...data }); + return Promise.resolve({ ...data, id }); }, delete: () => Promise.resolve([]), - getAll: () => [{ name: 'someDatabase', id: 'con1', strategy: 'auth0' }], + list: () => [{ name: 'someDatabase', id: 'con1', strategy: 'auth0' }], }, clients: { - getAll: () => [{ name: 'client1', client_id: 'YwqVtt8W3pw5AuEz3B2Kse9l2Ruy7Tec' }], + list: () => [{ name: 'client1', client_id: 'YwqVtt8W3pw5AuEz3B2Kse9l2Ruy7Tec' }], }, pool, }; @@ -1419,10 +1426,10 @@ describe('#databases handler', () => { it('should update database when require username and validation are passed', async () => { const auth0 = { connections: { - get: function (params) { + get: function (id) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal('con1'); + expect(id).to.be.a('string'); + expect(id).to.equal('con1'); return Promise.resolve({ options: { someOldOption: true } }); }, create: function (data) { @@ -1430,10 +1437,10 @@ describe('#databases handler', () => { expect(data).to.be.an('undefined'); return Promise.resolve(data); }, - update: function (params, data) { + update: function (id, data) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal('con1'); + expect(id).to.be.a('string'); + expect(id).to.equal('con1'); expect(data).to.deep.equal({ validation: { username: { @@ -1445,13 +1452,13 @@ describe('#databases handler', () => { options: { passwordPolicy: 'testPolicy', someOldOption: true }, }); - return Promise.resolve({ ...params, ...data }); + return Promise.resolve({ ...data, id }); }, delete: () => Promise.resolve([]), - getAll: () => [{ name: 'someDatabase', id: 'con1', strategy: 'auth0' }], + list: () => [{ name: 'someDatabase', id: 'con1', strategy: 'auth0' }], }, clients: { - getAll: () => [{ name: 'client1', client_id: 'YwqVtt8W3pw5AuEz3B2Kse9l2Ruy7Tec' }], + list: () => [{ name: 'client1', client_id: 'YwqVtt8W3pw5AuEz3B2Kse9l2Ruy7Tec' }], }, pool, }; @@ -1502,10 +1509,10 @@ describe('#databases handler', () => { get: getStub, update: updateStub, delete: deleteStub, - getAll: getAllStub, + list: getAllStub, }, clients: { - getAll: sinon + list: sinon .stub() .resolves([{ name: 'client1', client_id: 'YwqVtt8W3pw5AuEz3B2Kse9l2Ruy7Tec' }]), }, @@ -1656,10 +1663,10 @@ describe('#databases handler', () => { get: getStub, update: updateStub, delete: deleteStub, - getAll: getAllStub, + list: getAllStub, }, clients: { - getAll: sinon + list: sinon .stub() .resolves([{ name: 'client1', client_id: 'YwqVtt8W3pw5AuEz3B2Kse9l2Ruy7Tec' }]), }, @@ -1842,10 +1849,10 @@ describe('#databases handler', () => { get: getStub, update: updateStub, delete: deleteStub, - getAll: getAllStub, + list: getAllStub, }, clients: { - getAll: sinon + list: sinon .stub() .resolves([{ name: 'client1', client_id: 'YwqVtt8W3pw5AuEz3B2Kse9l2Ruy7Tec' }]), }, @@ -1940,37 +1947,32 @@ describe('#databases handler with enabled clients integration', () => { describe('#getType with enabled clients', () => { it('should fetch and include enabled clients in database connection data', async () => { + const getEnabledClientsStub = sinon.stub(); const auth0 = { connections: { - getAll: (params) => + list: (params) => mockPagedData(params, 'connections', [ { id: 'con_1', strategy: 'auth0', name: 'database-connection-1' }, { id: 'con_2', strategy: 'auth0', name: 'database-connection-2' }, ]), - getEnabledClients: sinon.stub(), + clients: { + get: getEnabledClientsStub, + }, }, clients: { - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; // Mock enabled clients responses - auth0.connections.getEnabledClients - .withArgs({ id: 'con_1', take: 50 }) - .resolves({ - data: { - clients: [{ client_id: 'client_1' }, { client_id: 'client_2' }], - next: null, - }, - }) - .withArgs({ id: 'con_2', take: 50 }) - .resolves({ - data: { - clients: [{ client_id: 'client_3' }], - next: null, - }, - }); + getEnabledClientsStub + .withArgs('con_1') + .resolves( + mockPagedData({}, 'clients', [{ client_id: 'client_1' }, { client_id: 'client_2' }]) + ) + .withArgs('con_2') + .resolves(mockPagedData({}, 'clients', [{ client_id: 'client_3' }])); const handler = new databases.default({ client: pageClient(auth0), config }); @@ -1994,26 +1996,20 @@ describe('#databases handler with enabled clients integration', () => { it('should handle database connections without enabled clients', async () => { const auth0 = { connections: { - getAll: (params) => + list: (params) => mockPagedData(params, 'connections', [ { id: 'con_1', strategy: 'auth0', name: 'database-connection-1' }, ]), - getEnabledClients: sinon.stub(), + clients: { + get: sinon.stub().resolves(mockPagedData({}, 'clients', [])), + }, }, clients: { - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; - // Mock empty enabled clients response - auth0.connections.getEnabledClients.resolves({ - data: { - clients: [], - next: null, - }, - }); - const handler = new databases.default({ client: pageClient(auth0), config }); const result = await handler.getType(); @@ -2035,10 +2031,10 @@ describe('#databases handler with enabled clients integration', () => { update: sinon.stub().resolves({ data: {} }), delete: sinon.stub().resolves({ data: {} }), get: sinon.stub().resolves({ data: { options: {} } }), - getAll: (params) => mockPagedData(params, 'connections', []), + list: (params) => mockPagedData(params, 'connections', []), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; @@ -2069,10 +2065,10 @@ describe('#databases handler with enabled clients integration', () => { update: sinon.stub().resolves({ data: {} }), delete: sinon.stub().resolves({ data: {} }), get: sinon.stub().resolves({ data: { options: {} } }), - getAll: (params) => mockPagedData(params, 'connections', []), + list: (params) => mockPagedData(params, 'connections', []), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; @@ -2113,10 +2109,10 @@ describe('#databases handler with enabled clients integration', () => { update: sinon.stub().resolves({ data: {} }), delete: sinon.stub().resolves({ data: {} }), get: sinon.stub().resolves({ data: { options: {} } }), - getAll: (params) => mockPagedData(params, 'connections', []), + list: (params) => mockPagedData(params, 'connections', []), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; @@ -2146,10 +2142,10 @@ describe('#databases handler with enabled clients integration', () => { update: sinon.stub().resolves({ data: {} }), delete: sinon.stub().resolves({ data: {} }), get: sinon.stub().resolves({ data: { options: {} } }), - getAll: (params) => mockPagedData(params, 'connections', []), + list: (params) => mockPagedData(params, 'connections', []), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', []), + list: (params) => mockPagedData(params, 'clients', []), }, pool, }; diff --git a/test/tools/auth0/handlers/default.tests.ts b/test/tools/auth0/handlers/default.tests.ts index de6a8bc75..fefff4938 100644 --- a/test/tools/auth0/handlers/default.tests.ts +++ b/test/tools/auth0/handlers/default.tests.ts @@ -30,11 +30,14 @@ const mockApiClient = { } as Auth0APIClient; describe('#default handler', () => { + const config = () => undefined; + it('should strip designated fields from payload when creating', async () => { let didCreateFunctionGetCalled = false; const handler = new mockHandler({ client: mockApiClient, + config, stripCreateFields: ['stripThisFromCreate', 'stripObjectFromCreate.nestedProperty'], type: mockAssetType, functions: { @@ -98,6 +101,7 @@ describe('#default handler', () => { const handler = new mockHandler({ client: mockApiClient, + config, sensitiveFieldsToObfuscate: ['secret', 'auth_key'], type: mockAssetType, functions: { @@ -136,6 +140,7 @@ describe('#default handler', () => { const handler = new mockHandler({ client: mockApiClient, + config, sensitiveFieldsToObfuscate: ['secret', 'auth_key'], type: mockAssetType, functions: { diff --git a/test/tools/auth0/handlers/emailProvider.tests.js b/test/tools/auth0/handlers/emailProvider.tests.js index 472e22b8e..656296f90 100644 --- a/test/tools/auth0/handlers/emailProvider.tests.js +++ b/test/tools/auth0/handlers/emailProvider.tests.js @@ -6,14 +6,15 @@ describe('#emailProvider handler', () => { it('should configure email provider', async () => { const auth0 = { emails: { - configure: (data) => { - expect(data).to.be.an('object'); - expect(data.name).to.equal('someProvider'); - return Promise.resolve({ data }); + provider: { + create: (data) => { + expect(data).to.be.an('object'); + expect(data.name).to.equal('someProvider'); + return Promise.resolve(data); + }, + update: (data) => Promise.resolve(data), + get: () => Promise.resolve({}), }, - update: (data) => Promise.resolve({ data }), - delete: () => Promise.resolve({ data: null }), - get: () => ({ data: [] }), }, }; @@ -26,15 +27,16 @@ describe('#emailProvider handler', () => { it('should update email provider', async () => { const auth0 = { emails: { - configure: (data) => Promise.resolve({ data }), - update: (data) => { - expect(data).to.be.an('object'); - expect(data.name).to.equal('someProvider'); - expect(data.credentials).to.equal('password'); - return Promise.resolve({ data }); + provider: { + create: (data) => Promise.resolve(data), + update: (data) => { + expect(data).to.be.an('object'); + expect(data.name).to.equal('someProvider'); + expect(data.credentials).to.equal('password'); + return Promise.resolve(data); + }, + get: () => Promise.resolve({ name: 'someProvider', enabled: false }), }, - delete: () => Promise.resolve({ data: null }), - get: () => ({ data: { name: 'someProvider', enabled: false } }), }, }; @@ -56,15 +58,17 @@ describe('#emailProvider handler', () => { let wasUpdateCalled = false; const auth0 = { emails: { - delete: () => { - wasDeleteCalled = true; - return Promise.resolve({ data: {} }); + provider: { + delete: () => { + wasDeleteCalled = true; + return Promise.resolve({}); + }, + update: () => { + wasUpdateCalled = true; + return Promise.resolve({}); + }, + get: () => Promise.resolve({ name: 'someProvider', enabled: true }), }, - update: () => { - wasUpdateCalled = true; - return Promise.resolve({ data: {} }); - }, - get: () => ({ data: { name: 'someProvider', enabled: true } }), }, }; @@ -85,10 +89,12 @@ describe('#emailProvider handler', () => { const auth0 = { emails: { - delete: () => { - throw new Error('was not expecting delete to be called'); + provider: { + delete: () => { + throw new Error('was not expecting delete to be called'); + }, + get: () => Promise.resolve({ name: 'someProvider', enabled: true }), }, - get: () => ({ data: { name: 'someProvider', enabled: true } }), }, }; @@ -104,7 +110,9 @@ describe('#emailProvider handler', () => { it('should get email provider', async () => { const auth0 = { emails: { - get: () => ({ data: { name: 'smtp', enabled: true } }), + provider: { + get: () => Promise.resolve({ name: 'smtp', enabled: true }), + }, }, }; @@ -113,18 +121,24 @@ describe('#emailProvider handler', () => { expect(data).to.deep.equal({ name: 'smtp', enabled: true }); }); - it('should delete email provider and create another one instead', async () => { + // DELETE on emails/provider is not supported on SDK, so changing provider should call update instead + it('should update email provider when changing to a different provider (delete not supported)', async () => { + let wasUpdateCalled = false; const auth0 = { emails: { - configure: (data) => { - expect(data).to.be.an('object'); - expect(data.name).to.equal('someProvider'); - expect(data.credentials).to.equal('password'); - return Promise.resolve({ data }); + provider: { + create: () => { + throw new Error('was not expecting create to be called'); + }, + update: (data) => { + expect(data).to.be.an('object'); + expect(data.name).to.equal('someProvider'); + expect(data.credentials).to.equal('password'); + wasUpdateCalled = true; + return Promise.resolve(data); + }, + get: () => Promise.resolve({ name: 'oldProvider', enabled: true }), }, - update: (data) => Promise.resolve({ data }), - delete: () => Promise.resolve({ data: null }), - get: () => ({ data: { name: 'oldProvider', enabled: true } }), }, }; @@ -137,6 +151,7 @@ describe('#emailProvider handler', () => { }; await stageFn.apply(handler, [{ emailProvider: data }]); + expect(wasUpdateCalled).to.equal(true); }); }); }); diff --git a/test/tools/auth0/handlers/emailTemplates.tests.js b/test/tools/auth0/handlers/emailTemplates.tests.js index bc9b8bfd5..0831088ef 100644 --- a/test/tools/auth0/handlers/emailTemplates.tests.js +++ b/test/tools/auth0/handlers/emailTemplates.tests.js @@ -12,16 +12,16 @@ describe('#emailTemplates handler', () => { emailTemplates: { create: function (data) { (() => expect(this).to.not.be.undefined)(); - return Promise.resolve({ data }); + return Promise.resolve(data); }, - update: function (params, data) { + update: function (templateName, data) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); + expect(templateName).to.be.a('string'); expect(data).to.be.an('object'); - expect(params.templateName).to.equal('verify_email'); + expect(templateName).to.equal('verify_email'); expect(data.template).to.equal('verify_email'); expect(data.body).to.equal('body'); - return Promise.resolve({ data: { params, data } }); + return Promise.resolve(data); }, }, }; @@ -37,13 +37,12 @@ describe('#emailTemplates handler', () => { it('should get email templates', async () => { const auth0 = { emailTemplates: { - get: (template) => ({ - data: { - template: template.templateName, + get: (templateName) => + Promise.resolve({ + template: templateName, enabled: true, body: 'some email', - }, - }), + }), }, }; @@ -66,7 +65,7 @@ describe('#emailTemplates handler', () => { expect(data).to.be.an('object'); expect(data.template).to.equal('verify_email'); expect(data.body).to.equal('body'); - return Promise.resolve({ data }); + return Promise.resolve(data); }, update: () => { const error = new Error('test'); @@ -93,16 +92,16 @@ describe('#emailTemplates handler', () => { expect(data.template).to.equal('async_approval'); expect(data.body).to.equal('async approval'); expect(data.subject).to.equal('Async Approval Required'); - return Promise.resolve({ data }); + return Promise.resolve(data); }, - update: function (params, data) { + update: function (templateName, data) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); + expect(templateName).to.be.a('string'); expect(data).to.be.an('object'); - expect(params.templateName).to.equal('async_approval'); + expect(templateName).to.equal('async_approval'); expect(data.template).to.equal('async_approval'); expect(data.body).to.equal('async approval'); - return Promise.resolve({ data: { params, data } }); + return Promise.resolve(data); }, }, }; @@ -127,17 +126,14 @@ describe('#emailTemplates handler', () => { it('should get async_approval in response', async () => { const auth0 = { emailTemplates: { - get: (template) => ({ - data: { - template: template.templateName, + get: (templateName) => + Promise.resolve({ + template: templateName, enabled: true, body: 'some email', subject: - template.templateName === 'async_approval' - ? 'Async Approval Required' - : 'Test Subject', - }, - }), + templateName === 'async_approval' ? 'Async Approval Required' : 'Test Subject', + }), }, }; diff --git a/test/tools/auth0/handlers/flowVaultConnections.tests.js b/test/tools/auth0/handlers/flowVaultConnections.tests.js index 62be37021..600c38c76 100644 --- a/test/tools/auth0/handlers/flowVaultConnections.tests.js +++ b/test/tools/auth0/handlers/flowVaultConnections.tests.js @@ -65,7 +65,13 @@ describe('#flowVaultConnections handler', () => { describe('#flowVaultConnections process', () => { it('should return empty if no flowVaultConnections asset', async () => { const auth0 = { - flowVaultConnections: {}, + flows: { + vault: { + connections: { + list: (params) => mockPagedData(params, 'connections', []), + }, + }, + }, pool, }; @@ -78,13 +84,17 @@ describe('#flowVaultConnections handler', () => { it('should create flowVaultConnections', async () => { const auth0 = { flows: { - createConnection: function (data) { - (() => expect(this).to.not.be.undefined)(); - expect(data).to.be.an('object'); - expect(data.name).to.equal(sampleFlowVaultConnections.name); - return Promise.resolve({ data }); + vault: { + connections: { + create: function (data) { + (() => expect(this).to.not.be.undefined)(); + expect(data).to.be.an('object'); + expect(data.name).to.equal(sampleFlowVaultConnections.name); + return Promise.resolve(data); + }, + list: (params) => mockPagedData(params, 'connections', []), + }, }, - getAllConnections: (params) => mockPagedData(params, 'connections', []), }, pool, }; @@ -102,8 +112,11 @@ describe('#flowVaultConnections handler', () => { it('should get flowVaultConnections', async () => { const auth0 = { flows: { - getAllConnections: (params) => - mockPagedData(params, 'connections', [sampleFlowVaultConnections]), + vault: { + connections: { + list: (params) => mockPagedData(params, 'connections', [sampleFlowVaultConnections]), + }, + }, }, pool, }; @@ -116,16 +129,19 @@ describe('#flowVaultConnections handler', () => { it('should update flowVaultConnections', async () => { const auth0 = { flows: { - updateConnection: function (params, data) { - (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal(sampleFlowVaultConnections.id); - expect(data).to.be.an('object'); - expect(data.name).to.equal(sampleFlowVaultConnections.name); - return Promise.resolve({ data }); + vault: { + connections: { + update: function (id, data) { + (() => expect(this).to.not.be.undefined)(); + expect(id).to.be.a('string'); + expect(id).to.equal(sampleFlowVaultConnections.id); + expect(data).to.be.an('object'); + expect(data.name).to.equal(sampleFlowVaultConnections.name); + return Promise.resolve(data); + }, + list: (params) => mockPagedData(params, 'connections', [sampleFlowVaultConnections]), + }, }, - getAllConnections: (params) => - mockPagedData(params, 'connections', [sampleFlowVaultConnections]), }, pool, }; @@ -148,20 +164,23 @@ describe('#flowVaultConnections handler', () => { }; const auth0 = { flows: { - createConnection: function (data) { - (() => expect(this).to.not.be.undefined)(); - expect(data).to.be.an('object'); - expect(data.name).to.equal(newFlowConnection.name); - return Promise.resolve({ data }); - }, - deleteConnection: function (params) { - (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal(sampleFlowVaultConnections.id); - return Promise.resolve({ data: [] }); + vault: { + connections: { + create: function (data) { + (() => expect(this).to.not.be.undefined)(); + expect(data).to.be.an('object'); + expect(data.name).to.equal(newFlowConnection.name); + return Promise.resolve(data); + }, + delete: function (id) { + (() => expect(this).to.not.be.undefined)(); + expect(id).to.be.a('string'); + expect(id).to.equal(sampleFlowVaultConnections.id); + return Promise.resolve([]); + }, + list: (params) => mockPagedData(params, 'connections', [sampleFlowVaultConnections]), + }, }, - getAllConnections: (params) => - mockPagedData(params, 'connections', [sampleFlowVaultConnections]), }, pool, }; @@ -176,15 +195,18 @@ describe('#flowVaultConnections handler', () => { let removed = false; const auth0 = { flows: { - deleteConnection: function (params) { - removed = true; - (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal(sampleFlowVaultConnections.id); - return Promise.resolve({ data: [] }); + vault: { + connections: { + delete: function (id) { + removed = true; + (() => expect(this).to.not.be.undefined)(); + expect(id).to.be.a('string'); + expect(id).to.equal(sampleFlowVaultConnections.id); + return Promise.resolve([]); + }, + list: (params) => mockPagedData(params, 'connections', [sampleFlowVaultConnections]), + }, }, - getAllConnections: (params) => - mockPagedData(params, 'connections', [sampleFlowVaultConnections]), }, pool, }; @@ -200,12 +222,15 @@ describe('#flowVaultConnections handler', () => { config.data.AUTH0_ALLOW_DELETE = false; const auth0 = { flows: { - deleteConnection: (params) => { - expect(params).to.be.an('undefined'); - return Promise.resolve({ data: [] }); + vault: { + connections: { + delete: (id) => { + expect(id).to.be.an('undefined'); + return Promise.resolve([]); + }, + list: (params) => mockPagedData(params, 'connections', [sampleFlowVaultConnections]), + }, }, - getAllConnections: (params) => - mockPagedData(params, 'connections', [sampleFlowVaultConnections]), }, pool, }; diff --git a/test/tools/auth0/handlers/flows.tests.js b/test/tools/auth0/handlers/flows.tests.js index 9f435b3ce..b45679082 100644 --- a/test/tools/auth0/handlers/flows.tests.js +++ b/test/tools/auth0/handlers/flows.tests.js @@ -67,7 +67,13 @@ describe('#flows handler', () => { describe('#flows process', () => { it('should return empty if no flows asset', async () => { const auth0 = { - flows: {}, + flows: { + vault: { + connections: { + list: (params) => mockPagedData(params, 'connections', []), + }, + }, + }, pool, }; @@ -84,12 +90,16 @@ describe('#flows handler', () => { (() => expect(this).to.not.be.undefined)(); expect(data).to.be.an('object'); expect(data.name).to.equal(sampleFlowWthID.name); - return Promise.resolve({ data }); + return Promise.resolve(data); + }, + update: () => Promise.resolve([]), + delete: () => Promise.resolve([]), + list: (params) => mockPagedData(params, 'flows', []), + vault: { + connections: { + list: (params) => mockPagedData(params, 'connections', []), + }, }, - update: () => Promise.resolve({ data: [] }), - delete: () => Promise.resolve({ data: [] }), - getAll: (params) => mockPagedData(params, 'flows', []), - getAllConnections: (params) => mockPagedData(params, 'connections', []), }, pool, }; @@ -133,11 +143,14 @@ describe('#flows handler', () => { create: function (data) { (() => expect(this).to.not.be.undefined)(); expect(data).to.be.an('object'); - return Promise.resolve({ data }); + return Promise.resolve(data); + }, + list: (params) => mockPagedData(params, 'flows', []), + vault: { + connections: { + list: (params) => mockPagedData(params, 'connections', [sampleConnectionWithID]), + }, }, - getAll: (params) => mockPagedData(params, 'flows', []), - getAllConnections: (params) => - mockPagedData(params, 'connections', [sampleConnectionWithID]), }, pool, }; @@ -155,15 +168,16 @@ describe('#flows handler', () => { it('should get flows', async () => { const auth0 = { flows: { - getAll: (params) => mockPagedData(params, 'flows', [sampleFlowWthID]), - get: (params) => { - expect(params).to.be.an('object'); - expect(params.id).to.be.a('string'); - return Promise.resolve({ - data: sampleFlowWthID, - }); + list: (params) => mockPagedData(params, 'flows', [sampleFlowWthID]), + get: (id) => { + expect(id).to.be.a('string'); + return Promise.resolve(sampleFlowWthID); + }, + vault: { + connections: { + list: (params) => mockPagedData(params, 'connections', []), + }, }, - getAllConnections: (params) => mockPagedData(params, 'connections', []), }, pool, }; @@ -223,16 +237,16 @@ describe('#flows handler', () => { }; const auth0 = { flows: { - getAll: (params) => mockPagedData(params, 'flows', [sampleFlowWthConnectionWithIdNew]), - get: (params) => { - expect(params).to.be.an('object'); - expect(params.id).to.be.a('string'); - return Promise.resolve({ - data: sampleFlowWthConnectionWithIdNew, - }); + list: (params) => mockPagedData(params, 'flows', [sampleFlowWthConnectionWithIdNew]), + get: (id) => { + expect(id).to.be.a('string'); + return Promise.resolve(sampleFlowWthConnectionWithIdNew); + }, + vault: { + connections: { + list: (params) => mockPagedData(params, 'connections', [sampleConnectionWithID]), + }, }, - getAllConnections: (params) => - mockPagedData(params, 'connections', [sampleConnectionWithID]), }, pool, }; @@ -246,23 +260,24 @@ describe('#flows handler', () => { it('should update flows', async () => { const auth0 = { flows: { - update: function (params, data) { + update: function (id, data) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal(sampleFlowWthID.id); + expect(id).to.be.a('string'); + expect(id).to.equal(sampleFlowWthID.id); expect(data).to.be.an('object'); expect(data.name).to.equal(sampleFlowWthID.name); - return Promise.resolve({ data }); + return Promise.resolve(data); }, - getAll: (params) => mockPagedData(params, 'flows', [sampleFlowWthID]), - get: (params) => { - expect(params).to.be.an('object'); - expect(params.id).to.be.a('string'); - return Promise.resolve({ - data: sampleFlowWthID, - }); + list: (params) => mockPagedData(params, 'flows', [sampleFlowWthID]), + get: (id) => { + expect(id).to.be.a('string'); + return Promise.resolve(sampleFlowWthID); + }, + vault: { + connections: { + list: (params) => mockPagedData(params, 'connections', []), + }, }, - getAllConnections: (params) => mockPagedData(params, 'connections', []), }, pool, }; @@ -289,23 +304,24 @@ describe('#flows handler', () => { (() => expect(this).to.not.be.undefined)(); expect(data).to.be.an('object'); expect(data.name).to.equal(newFlow.name); - return Promise.resolve({ data }); + return Promise.resolve(data); }, delete: function (params) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal(sampleFlowWthID.id); - return Promise.resolve({ data: [] }); + expect(params).to.be.a('string'); + expect(params).to.equal(sampleFlowWthID.id); + return Promise.resolve([]); + }, + list: (params) => mockPagedData(params, 'flows', [sampleFlowWthID]), + get: (id) => { + expect(id).to.be.a('string'); + return Promise.resolve(sampleFlowWthID); }, - getAll: (params) => mockPagedData(params, 'flows', [sampleFlowWthID]), - get: (params) => { - expect(params).to.be.an('object'); - expect(params.id).to.be.a('string'); - return Promise.resolve({ - data: sampleFlowWthID, - }); + vault: { + connections: { + list: (params) => mockPagedData(params, 'connections', []), + }, }, - getAllConnections: (params) => mockPagedData(params, 'connections', []), }, pool, }; @@ -322,18 +338,19 @@ describe('#flows handler', () => { flows: { delete: (params) => { removed = true; - expect(params).to.be.an('object'); - return Promise.resolve({ data: [] }); + expect(params).to.be.a('string'); + return Promise.resolve([]); + }, + list: (params) => mockPagedData(params, 'flows', [sampleFlowWthID]), + get: (id) => { + expect(id).to.be.a('string'); + return Promise.resolve(sampleFlowWthID); }, - getAll: (params) => mockPagedData(params, 'flows', [sampleFlowWthID]), - get: (params) => { - expect(params).to.be.an('object'); - expect(params.id).to.be.a('string'); - return Promise.resolve({ - data: sampleFlowWthID, - }); + vault: { + connections: { + list: (params) => mockPagedData(params, 'connections', []), + }, }, - getAllConnections: (params) => mockPagedData(params, 'connections', []), }, pool, }; @@ -351,17 +368,18 @@ describe('#flows handler', () => { flows: { delete: (params) => { expect(params).to.be.an('undefined'); - return Promise.resolve({ data: [] }); + return Promise.resolve([]); }, - getAll: (params) => mockPagedData(params, 'flows', [sampleFlowWthID]), - get: (params) => { - expect(params).to.be.an('object'); - expect(params.id).to.be.a('string'); - return Promise.resolve({ - data: sampleFlowWthID, - }); + list: (params) => mockPagedData(params, 'flows', [sampleFlowWthID]), + get: (id) => { + expect(id).to.be.a('string'); + return Promise.resolve(sampleFlowWthID); + }, + vault: { + connections: { + list: (params) => mockPagedData(params, 'connections', []), + }, }, - getAllConnections: (params) => mockPagedData(params, 'connections', []), }, pool, }; diff --git a/test/tools/auth0/handlers/forms.tests.js b/test/tools/auth0/handlers/forms.tests.js index d33972c42..a279ab386 100644 --- a/test/tools/auth0/handlers/forms.tests.js +++ b/test/tools/auth0/handlers/forms.tests.js @@ -137,14 +137,14 @@ describe('#forms handler', () => { expect(data.name).to.equal(sampleFormWithOutId.name); expect(data.languages).to.be.an('object'); expect(data.languages.primary).to.equal(sampleFormWithOutId.languages.primary); - return Promise.resolve({ data }); + return Promise.resolve(data); }, - update: () => Promise.resolve({ data: [] }), - delete: () => Promise.resolve({ data: [] }), - getAll: (params) => mockPagedData(params, 'forms', []), + update: () => Promise.resolve([]), + delete: () => Promise.resolve([]), + list: (params) => mockPagedData(params, 'forms', []), }, flows: { - getAll: (params) => mockPagedData(params, 'flows', []), + list: (params) => mockPagedData(params, 'flows', []), }, pool, }; @@ -165,12 +165,12 @@ describe('#forms handler', () => { create: function (data) { (() => expect(this).to.not.be.undefined)(); expect(data).to.be.an('object'); - return Promise.resolve({ data }); + return Promise.resolve(data); }, - getAll: (params) => mockPagedData(params, 'forms', []), + list: (params) => mockPagedData(params, 'forms', []), }, flows: { - getAll: (params) => mockPagedData(params, 'flows', [sampleFlowWithID]), + list: (params) => mockPagedData(params, 'flows', [sampleFlowWithID]), }, pool, }; @@ -188,17 +188,14 @@ describe('#forms handler', () => { it('should get forms', async () => { const auth0 = { forms: { - getAll: (params) => mockPagedData(params, 'forms', [sampleFormWthID]), - get: (params) => { - expect(params).to.be.an('object'); - expect(params.id).to.be.a('string'); - return Promise.resolve({ - data: sampleFormWthID, - }); + list: (params) => mockPagedData(params, 'forms', [sampleFormWthID]), + get: (id) => { + expect(id).to.be.a('string'); + return Promise.resolve(sampleFormWthID); }, }, flows: { - getAll: (params) => mockPagedData(params, 'flows', []), + list: (params) => mockPagedData(params, 'flows', []), }, pool, }; @@ -230,17 +227,14 @@ describe('#forms handler', () => { }; const auth0 = { forms: { - getAll: (params) => mockPagedData(params, 'forms', [sampleFormWthFlowWithId]), - get: (params) => { - expect(params).to.be.an('object'); - expect(params.id).to.be.a('string'); - return Promise.resolve({ - data: sampleFormWthFlowWithId, - }); + list: (params) => mockPagedData(params, 'forms', [sampleFormWthFlowWithId]), + get: (id) => { + expect(id).to.be.a('string'); + return Promise.resolve(sampleFormWthFlowWithId); }, }, flows: { - getAll: (params) => mockPagedData(params, 'flows', [sampleFlowWithID]), + list: (params) => mockPagedData(params, 'flows', [sampleFlowWithID]), }, pool, }; @@ -254,27 +248,24 @@ describe('#forms handler', () => { it('should update forms', async () => { const auth0 = { forms: { - update: function (params, data) { + update: function (id, data) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal(sampleFormWthID.id); + expect(id).to.be.a('string'); + expect(id).to.equal(sampleFormWthID.id); expect(data).to.be.an('object'); expect(data.languages).to.be.an('object'); expect(data.languages.primary).to.equal('en'); - return Promise.resolve({ data }); + return Promise.resolve(data); }, - getAll: (params) => mockPagedData(params, 'forms', [sampleFormWthID]), - get: (params) => { - expect(params).to.be.an('object'); - expect(params.id).to.be.a('string'); - return Promise.resolve({ - data: sampleFormWthID, - }); + list: (params) => mockPagedData(params, 'forms', [sampleFormWthID]), + get: (id) => { + expect(id).to.be.a('string'); + return Promise.resolve(sampleFormWthID); }, }, flows: { - getAll: (params) => mockPagedData(params, 'flows', []), + list: (params) => mockPagedData(params, 'flows', []), }, pool, }; @@ -306,25 +297,22 @@ describe('#forms handler', () => { (() => expect(this).to.not.be.undefined)(); expect(data).to.be.an('object'); expect(data.name).to.equal(sampleFormTwoWthID.name); - return Promise.resolve({ data }); + return Promise.resolve(data); }, delete: function (params) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal(sampleFormWthID.id); - return Promise.resolve({ data: [] }); + expect(params).to.be.a('string'); + expect(params).to.equal(sampleFormWthID.id); + return Promise.resolve([]); }, - getAll: (params) => mockPagedData(params, 'forms', [sampleFormWthID]), - get: (params) => { - expect(params).to.be.an('object'); - expect(params.id).to.be.a('string'); - return Promise.resolve({ - data: sampleFormWthID, - }); + list: (params) => mockPagedData(params, 'forms', [sampleFormWthID]), + get: (id) => { + expect(id).to.be.a('string'); + return Promise.resolve(sampleFormWthID); }, }, flows: { - getAll: (params) => mockPagedData(params, 'flows', []), + list: (params) => mockPagedData(params, 'flows', []), }, pool, }; @@ -341,20 +329,17 @@ describe('#forms handler', () => { forms: { delete: (params) => { removed = true; - expect(params).to.be.an('object'); - return Promise.resolve({ data: [] }); + expect(params).to.be.a('string'); + return Promise.resolve([]); }, - getAll: (params) => mockPagedData(params, 'forms', [sampleFormWthID, sampleFormTwoWthID]), - get: (params) => { - expect(params).to.be.an('object'); - expect(params.id).to.be.a('string'); - return Promise.resolve({ - data: sampleFormWthID, - }); + list: (params) => mockPagedData(params, 'forms', [sampleFormWthID, sampleFormTwoWthID]), + get: (id) => { + expect(id).to.be.a('string'); + return Promise.resolve(sampleFormWthID); }, }, flows: { - getAll: (params) => mockPagedData(params, 'flows', []), + list: (params) => mockPagedData(params, 'flows', []), }, pool, }; @@ -372,19 +357,16 @@ describe('#forms handler', () => { forms: { delete: (params) => { expect(params).to.be.an('undefined'); - return Promise.resolve({ data: [] }); + return Promise.resolve([]); }, - getAll: (params) => mockPagedData(params, 'forms', [sampleFormWthID, sampleFormTwoWthID]), - get: (params) => { - expect(params).to.be.an('object'); - expect(params.id).to.be.a('string'); - return Promise.resolve({ - data: sampleFormWthID, - }); + list: (params) => mockPagedData(params, 'forms', [sampleFormWthID, sampleFormTwoWthID]), + get: (id) => { + expect(id).to.be.a('string'); + return Promise.resolve(sampleFormWthID); }, }, flows: { - getAll: (params) => mockPagedData(params, 'flows', []), + list: (params) => mockPagedData(params, 'flows', []), }, pool, }; diff --git a/test/tools/auth0/handlers/guardianFactorProviders.tests.js b/test/tools/auth0/handlers/guardianFactorProviders.tests.js index c607f3c85..6944ed2fe 100644 --- a/test/tools/auth0/handlers/guardianFactorProviders.tests.js +++ b/test/tools/auth0/handlers/guardianFactorProviders.tests.js @@ -68,10 +68,18 @@ describe('#guardianFactorProviders handler', () => { const auth0 = { guardian: { - getPhoneFactorProviderTwilio: throwForbidden, - getSmsFactorProviderTwilio: throwForbidden, - getPushNotificationProviderAPNS: throwForbidden, - getPushNotificationProviderSNS: throwForbidden, + factors: { + phone: { + getTwilioProvider: throwForbidden, + }, + sms: { + getTwilioProvider: throwForbidden, + }, + pushNotification: { + getApnsProvider: throwForbidden, + getSnsProvider: throwForbidden, + }, + }, }, pool, }; @@ -84,10 +92,18 @@ describe('#guardianFactorProviders handler', () => { it('should get guardianFactorProviders', async () => { const auth0 = { guardian: { - getPhoneFactorProviderTwilio: (params) => ({ data: { ...params, test: 'data' } }), - getPushNotificationProviderAPNS: (params) => ({ data: { ...params, test: 'data' } }), - getPushNotificationProviderSNS: (params) => ({ data: { ...params, test: 'data' } }), - getSmsFactorProviderTwilio: (params) => ({ data: { ...params, test: 'data' } }), + factors: { + phone: { + getTwilioProvider: (params) => ({ data: { ...params, test: 'data' } }), + }, + sms: { + getTwilioProvider: (params) => ({ data: { ...params, test: 'data' } }), + }, + pushNotification: { + getApnsProvider: (params) => ({ data: { ...params, test: 'data' } }), + getSnsProvider: (params) => ({ data: { ...params, test: 'data' } }), + }, + }, }, pool, }; @@ -112,7 +128,19 @@ describe('#guardianFactorProviders handler', () => { const auth0 = { guardian: { - updateFactorProvider: () => ({ ...provider }), + factors: { + phone: { + setTwilioProvider: () => ({ ...provider }), + }, + sms: { + setTwilioProvider: () => ({ ...provider }), + }, + pushNotification: { + setApnsProvider: () => ({ ...provider }), + setFcmProvider: () => ({ ...provider }), + setSnsProvider: () => ({ ...provider }), + }, + }, }, pool, }; diff --git a/test/tools/auth0/handlers/guardianFactorTemplates.tests.js b/test/tools/auth0/handlers/guardianFactorTemplates.tests.js index fc2a9bc7f..2134390bb 100644 --- a/test/tools/auth0/handlers/guardianFactorTemplates.tests.js +++ b/test/tools/auth0/handlers/guardianFactorTemplates.tests.js @@ -59,10 +59,14 @@ describe('#guardianFactorTemplates handler', () => { it('should handle forbidden error', async () => { const auth0 = { guardian: { - getSmsFactorTemplates: () => { - const error = new Error('Forbidden resource access'); - error.statusCode = 403; - throw error; + factors: { + sms: { + getTemplates: () => { + const error = new Error('Forbidden resource access'); + error.statusCode = 403; + throw error; + }, + }, }, }, pool, @@ -76,7 +80,11 @@ describe('#guardianFactorTemplates handler', () => { it('should get guardianFactorTemplates', async () => { const auth0 = { guardian: { - getSmsFactorTemplates: (params) => ({ data: { ...params, enrollment_message: 'test' } }), + factors: { + sms: { + getTemplates: () => Promise.resolve({ enrollment_message: 'test' }), + }, + }, }, pool, }; @@ -94,7 +102,11 @@ describe('#guardianFactorTemplates handler', () => { it('should update guardianFactorTemplates', async () => { const auth0 = { guardian: { - setSmsFactorTemplates: (params, data) => ({ data }), + factors: { + sms: { + setTemplates: (data) => Promise.resolve(data), + }, + }, }, pool, }; diff --git a/test/tools/auth0/handlers/guardianFactors.tests.js b/test/tools/auth0/handlers/guardianFactors.tests.js index a9f097932..ed8a2356f 100644 --- a/test/tools/auth0/handlers/guardianFactors.tests.js +++ b/test/tools/auth0/handlers/guardianFactors.tests.js @@ -58,10 +58,12 @@ describe('#guardianFactors handler', () => { it('should handle forbidden error', async () => { const auth0 = { guardian: { - getFactors: () => { - const error = new Error('Forbidden resource access'); - error.statusCode = 403; - throw error; + factors: { + list: () => { + const error = new Error('Forbidden resource access'); + error.statusCode = 403; + throw error; + }, }, }, pool, @@ -86,7 +88,9 @@ describe('#guardianFactors handler', () => { const auth0 = { guardian: { - getFactors: () => ({ data: [...factors] }), + factors: { + list: () => Promise.resolve([...factors]), + }, }, pool, }; @@ -110,8 +114,10 @@ describe('#guardianFactors handler', () => { const auth0 = { guardian: { - getFactors: () => [...factors], - updateFactor: () => ({ enabled: true }), + factors: { + list: () => Promise.resolve([...factors]), + set: () => Promise.resolve({ enabled: true }), + }, }, pool, }; diff --git a/test/tools/auth0/handlers/guardianPhoneFactorMessageTypes.tests.js b/test/tools/auth0/handlers/guardianPhoneFactorMessageTypes.tests.js index 861547260..b6272db73 100644 --- a/test/tools/auth0/handlers/guardianPhoneFactorMessageTypes.tests.js +++ b/test/tools/auth0/handlers/guardianPhoneFactorMessageTypes.tests.js @@ -6,7 +6,15 @@ describe('#guardianPhoneFactorMessageTypes handler', () => { it('should support older version of auth0 client', async () => { const auth0 = { guardian: { - // omitting getPhoneFactorMessageTypes() + factors: { + phone: { + getMessageTypes: () => { + const err = new Error('Not Found'); + err.statusCode = 404; + return Promise.reject(err); + }, + }, + }, }, }; @@ -18,24 +26,28 @@ describe('#guardianPhoneFactorMessageTypes handler', () => { it('should support when endpoint does not exist (older installations)', async () => { const auth0 = { guardian: { - getPhoneFactorMessageTypes: () => { - const err = new Error('Not Found'); - err.name = 'Not Found'; - err.statusCode = 404; - err.requestInfo = { - method: 'get', - url: 'https://example.auth0.com/api/v2/guardian/factors/phone/message-types', - }; - err.originalError = new Error('Not Found'); - err.originalError.status = 404; - err.originalError.response = { - body: { - statusCode: 404, - error: 'Not Found', - message: 'Not Found', + factors: { + phone: { + getMessageTypes: () => { + const err = new Error('Not Found'); + err.name = 'Not Found'; + err.statusCode = 404; + err.requestInfo = { + method: 'get', + url: 'https://example.auth0.com/api/v2/guardian/factors/phone/message-types', + }; + err.originalError = new Error('Not Found'); + err.originalError.status = 404; + err.originalError.response = { + body: { + statusCode: 404, + error: 'Not Found', + message: 'Not Found', + }, + }; + return Promise.reject(err); }, - }; - return Promise.reject(err); + }, }, }, }; @@ -48,25 +60,29 @@ describe('#guardianPhoneFactorMessageTypes handler', () => { it('should support when endpoint is disabled for tenant', async () => { const auth0 = { guardian: { - getPhoneFactorMessageTypes: () => { - const err = new Error('This endpoint is disabled for your tenant.'); - err.name = 'Forbidden'; - err.statusCode = 403; - err.requestInfo = { - method: 'get', - url: 'https://example.auth0.com/api/v2/guardian/factors/phone/message-types', - }; - err.originalError = new Error('Forbidden'); - err.originalError.status = 403; - err.originalError.response = { - body: { - statusCode: 403, - error: 'Forbidden', - message: 'This endpoint is disabled for your tenant.', - errorCode: 'voice_mfa_not_allowed', + factors: { + phone: { + getMessageTypes: () => { + const err = new Error('This endpoint is disabled for your tenant.'); + err.name = 'Forbidden'; + err.statusCode = 403; + err.requestInfo = { + method: 'get', + url: 'https://example.auth0.com/api/v2/guardian/factors/phone/message-types', + }; + err.originalError = new Error('Forbidden'); + err.originalError.status = 403; + err.originalError.response = { + body: { + statusCode: 403, + error: 'Forbidden', + message: 'This endpoint is disabled for your tenant.', + errorCode: 'voice_mfa_not_allowed', + }, + }; + return Promise.reject(err); }, - }; - return Promise.reject(err); + }, }, }, }; @@ -79,7 +95,11 @@ describe('#guardianPhoneFactorMessageTypes handler', () => { it('should get guardian phone factor message types', async () => { const auth0 = { guardian: { - getPhoneFactorMessageTypes: () => ({ data: { message_types: ['sms', 'voice'] } }), + factors: { + phone: { + getMessageTypes: () => ({ message_types: ['sms', 'voice'] }), + }, + }, }, }; @@ -91,10 +111,14 @@ describe('#guardianPhoneFactorMessageTypes handler', () => { it('should throw an error for all other failed requests', async () => { const auth0 = { guardian: { - getPhoneFactorMessageTypes: () => { - const error = new Error('Bad request'); - error.statusCode = 500; - throw error; + factors: { + phone: { + getMessageTypes: () => { + const error = new Error('Bad request'); + error.statusCode = 500; + throw error; + }, + }, }, }, }; @@ -112,9 +136,13 @@ describe('#guardianPhoneFactorMessageTypes handler', () => { it('should update guardian phone factor message types', async () => { const auth0 = { guardian: { - updatePhoneFactorMessageTypes: (data) => { - expect(data).to.eql({ message_types: ['sms', 'voice'] }); - return Promise.resolve({ data }); + factors: { + phone: { + setMessageTypes: (data) => { + expect(data).to.eql({ message_types: ['sms', 'voice'] }); + return Promise.resolve({ data }); + }, + }, }, }, }; @@ -130,9 +158,13 @@ describe('#guardianPhoneFactorMessageTypes handler', () => { it('should skip processing if assets are empty', async () => { const auth0 = { guardian: { - updatePhoneFactorMessageTypes: () => { - const err = new Error('updatePhoneFactorMessageTypes() should not have been called'); - return Promise.reject(err); + factors: { + phone: { + setMessageTypes: () => { + const err = new Error('setMessageTypes() should not have been called'); + return Promise.reject(err); + }, + }, }, }, }; diff --git a/test/tools/auth0/handlers/guardianPhoneFactorSelectedProvider.tests.js b/test/tools/auth0/handlers/guardianPhoneFactorSelectedProvider.tests.js index cff0d015d..8a8702313 100644 --- a/test/tools/auth0/handlers/guardianPhoneFactorSelectedProvider.tests.js +++ b/test/tools/auth0/handlers/guardianPhoneFactorSelectedProvider.tests.js @@ -6,7 +6,15 @@ describe('#guardianPhoneFactorSelectedProvider handler', () => { it('should support older version of auth0 client', async () => { const auth0 = { guardian: { - // omitting getPhoneFactorSelectedProvider() + factors: { + phone: { + getSelectedProvider: () => { + const err = new Error('Not Found'); + err.statusCode = 404; + return Promise.reject(err); + }, + }, + }, }, }; @@ -18,24 +26,28 @@ describe('#guardianPhoneFactorSelectedProvider handler', () => { it('should support when endpoint does not exist (older installations)', async () => { const auth0 = { guardian: { - getPhoneFactorSelectedProvider: () => { - const err = new Error('Not Found'); - err.name = 'Not Found'; - err.statusCode = 404; - err.requestInfo = { - method: 'get', - url: 'https://example.auth0.com/api/v2/guardian/factors/sms/selected-provider', - }; - err.originalError = new Error('Not Found'); - err.originalError.status = 404; - err.originalError.response = { - body: { - statusCode: 404, - error: 'Not Found', - message: 'Not Found', + factors: { + phone: { + getSelectedProvider: () => { + const err = new Error('Not Found'); + err.name = 'Not Found'; + err.statusCode = 404; + err.requestInfo = { + method: 'get', + url: 'https://example.auth0.com/api/v2/guardian/factors/sms/selected-provider', + }; + err.originalError = new Error('Not Found'); + err.originalError.status = 404; + err.originalError.response = { + body: { + statusCode: 404, + error: 'Not Found', + message: 'Not Found', + }, + }; + return Promise.reject(err); }, - }; - return Promise.reject(err); + }, }, }, }; @@ -48,25 +60,29 @@ describe('#guardianPhoneFactorSelectedProvider handler', () => { it('should support when endpoint is disabled for tenant', async () => { const auth0 = { guardian: { - getPhoneFactorSelectedProvider: () => { - const err = new Error('This endpoint is disabled for your tenant.'); - err.name = 'Forbidden'; - err.statusCode = 403; - err.requestInfo = { - method: 'get', - url: 'https://example.auth0.com/api/v2/guardian/factors/sms/selected-provider', - }; - err.originalError = new Error('Forbidden'); - err.originalError.status = 403; - err.originalError.response = { - body: { - statusCode: 403, - error: 'Forbidden', - message: 'This endpoint is disabled for your tenant.', - errorCode: 'hooks_not_allowed', + factors: { + phone: { + getSelectedProvider: () => { + const err = new Error('This endpoint is disabled for your tenant.'); + err.name = 'Forbidden'; + err.statusCode = 403; + err.requestInfo = { + method: 'get', + url: 'https://example.auth0.com/api/v2/guardian/factors/sms/selected-provider', + }; + err.originalError = new Error('Forbidden'); + err.originalError.status = 403; + err.originalError.response = { + body: { + statusCode: 403, + error: 'Forbidden', + message: 'This endpoint is disabled for your tenant.', + errorCode: 'hooks_not_allowed', + }, + }; + return Promise.reject(err); }, - }; - return Promise.reject(err); + }, }, }, }; @@ -79,7 +95,11 @@ describe('#guardianPhoneFactorSelectedProvider handler', () => { it('should get guardian phone factor selected provider', async () => { const auth0 = { guardian: { - getPhoneFactorSelectedProvider: () => ({ data: { provider: 'twilio' } }), + factors: { + phone: { + getSelectedProvider: () => Promise.resolve({ provider: 'twilio' }), + }, + }, }, }; @@ -91,10 +111,14 @@ describe('#guardianPhoneFactorSelectedProvider handler', () => { it('should throw an error for all other failed requests', async () => { const auth0 = { guardian: { - getPhoneFactorSelectedProvider: () => { - const error = new Error('Bad request'); - error.statusCode = 500; - throw error; + factors: { + phone: { + getSelectedProvider: () => { + const error = new Error('Bad request'); + error.statusCode = 500; + throw error; + }, + }, }, }, }; @@ -112,9 +136,13 @@ describe('#guardianPhoneFactorSelectedProvider handler', () => { it('should update guardian phone factor selected provider', async () => { const auth0 = { guardian: { - updatePhoneFactorSelectedProvider: (data) => { - expect(data).to.eql({ provider: 'twilio' }); - return Promise.resolve({ data }); + factors: { + phone: { + setProvider: (data) => { + expect(data).to.eql({ provider: 'twilio' }); + return Promise.resolve(data); + }, + }, }, }, }; @@ -130,11 +158,13 @@ describe('#guardianPhoneFactorSelectedProvider handler', () => { it('should skip processing if assets are empty', async () => { const auth0 = { guardian: { - updatePhoneFactorSelectedProvider: () => { - const err = new Error( - 'updatePhoneFactorSelectedProvider() should not have been called' - ); - return Promise.reject(err); + factors: { + phone: { + setProvider: () => { + const err = new Error('setProvider() should not have been called'); + return Promise.reject(err); + }, + }, }, }, }; diff --git a/test/tools/auth0/handlers/guardianPolicies.tests.js b/test/tools/auth0/handlers/guardianPolicies.tests.js index 6cbf29f47..2fe63414b 100644 --- a/test/tools/auth0/handlers/guardianPolicies.tests.js +++ b/test/tools/auth0/handlers/guardianPolicies.tests.js @@ -6,19 +6,23 @@ describe('#guardianPolicies handler', () => { it('should support older version of auth0 client', async () => { const auth0 = { guardian: { - // omitting getPolicies() + policies: { + list: () => Promise.resolve([]), + }, }, }; const handler = new guardianPolicies.default({ client: auth0 }); const data = await handler.getType(); - expect(data).to.deep.equal({}); + expect(data).to.deep.equal({ policies: [] }); }); it('should get guardian policies', async () => { const auth0 = { guardian: { - getPolicies: () => ({ data: ['all-applications'] }), + policies: { + list: () => Promise.resolve(['all-applications']), + }, }, }; @@ -34,10 +38,12 @@ describe('#guardianPolicies handler', () => { it('should update guardian policies settings', async () => { const auth0 = { guardian: { - updatePolicies: (data) => { - expect(data).to.be.an('array'); - expect(data[0]).to.equal('all-applications'); - return Promise.resolve({ data }); + policies: { + set: (data) => { + expect(data).to.be.an('array'); + expect(data[0]).to.equal('all-applications'); + return Promise.resolve(data); + }, }, }, }; @@ -57,9 +63,11 @@ describe('#guardianPolicies handler', () => { it('should skip processing if assets are empty', async () => { const auth0 = { guardian: { - updatePolicies: () => { - const err = new Error('updatePolicies() should not have been called'); - return Promise.reject(err); + policies: { + set: () => { + const err = new Error('set() should not have been called'); + return Promise.reject(err); + }, }, }, }; diff --git a/test/tools/auth0/handlers/logStreams.test.ts b/test/tools/auth0/handlers/logStreams.test.ts index b2bdcb0e9..deafa08b9 100644 --- a/test/tools/auth0/handlers/logStreams.test.ts +++ b/test/tools/auth0/handlers/logStreams.test.ts @@ -86,10 +86,10 @@ const mockLogStreams = [ const auth0ApiClientMock = { logStreams: { - getAll: async () => ({ data: mockLogStreams }), - create: async () => ({ data: mockLogStreams }), - update: async () => ({ data: mockLogStreams }), - delete: async () => ({ data: mockLogStreams }), + list: async () => mockLogStreams, + create: async () => mockLogStreams, + update: async () => mockLogStreams, + delete: async () => mockLogStreams, }, pool: new PromisePoolExecutor({ concurrencyLimit: 3, @@ -198,27 +198,25 @@ describe('#logStreams handler', () => { ...auth0ApiClientMock, logStreams: { ...auth0ApiClientMock.logStreams, - getAll: async () => ({ data: [] }), - }, - }, - functions: { - create: (data) => { - didCreateFunctionGetCalled = true; - const expectedValue = (() => { - const value = mockLogStreams.find((logStream) => { - return logStream.id === data.id; - }); - value.sink = { ...value.sink }; - //@ts-ignore because it's actually ok for sink property to be omitted in POST payload - delete value.status; // Not expecting status in POST payload - if (value?.type == 'eventgrid') delete value.sink.azurePartnerTopic; // Topic name is auto-generated on create, not expecting it in POST payload - if (value?.type == 'eventbridge') delete value.sink.awsPartnerEventSource; // Not expecting this in POST payload + list: async () => [], + create: async (data) => { + didCreateFunctionGetCalled = true; + const expectedValue = (() => { + const value = mockLogStreams.find((logStream) => { + return logStream.id === data.id; + }); + value.sink = { ...value.sink }; + //@ts-ignore because it's actually ok for sink property to be omitted in POST payload + delete value.status; // Not expecting status in POST payload + if (value?.type == 'eventgrid') delete value.sink.azurePartnerTopic; // Topic name is auto-generated on create, not expecting it in POST payload + if (value?.type == 'eventbridge') delete value.sink.awsPartnerEventSource; // Not expecting this in POST payload - return value; - })(); + return value; + })(); - expect(data).to.deep.equal(expectedValue); - return Promise.resolve(data); + expect(data).to.deep.equal(expectedValue); + return Promise.resolve(data); + }, }, }, }); @@ -232,26 +230,29 @@ describe('#logStreams handler', () => { const handler = new logStreamsHandler({ config: () => {}, - client: auth0ApiClientMock, - functions: { - update: ({ id }, data) => { - didUpdateFunctionGetCalled = true; - const expectedValue = (() => { - const value = mockLogStreams.find((logStream) => { - return logStream.id === id; - }); - //@ts-ignore because it's actually ok for status property to be omitted in PATCH payload - if (value?.type === 'eventbridge' || value?.type === 'eventgrid') delete value.sink; - delete value.id; // Not expecting ID in PATCH payload - delete value.type; // Not expecting type in PATCH payload - //@ts-ignore because it's actually ok for status property to be omitted in PATCH payload - if (value?.status === 'suspended') delete value.status; // Not expecting status in PATCH payload if suspended + client: { + ...auth0ApiClientMock, + logStreams: { + ...auth0ApiClientMock.logStreams, + update: async (id, data) => { + didUpdateFunctionGetCalled = true; + const expectedValue = (() => { + const value = mockLogStreams.find((logStream) => { + return logStream.id === id; + }); + //@ts-ignore because it's actually ok for status property to be omitted in PATCH payload + if (value?.type === 'eventbridge' || value?.type === 'eventgrid') delete value.sink; + delete value.id; // Not expecting ID in PATCH payload + delete value.type; // Not expecting type in PATCH payload + //@ts-ignore because it's actually ok for status property to be omitted in PATCH payload + if (value?.status === 'suspended') delete value.status; // Not expecting status in PATCH payload if suspended - return value; - })(); + return value; + })(); - expect(data).to.deep.equal(expectedValue); - return Promise.resolve(data); + expect(data).to.deep.equal(expectedValue); + return Promise.resolve(data); + }, }, }, }); diff --git a/test/tools/auth0/handlers/networkACLs.test.ts b/test/tools/auth0/handlers/networkACLs.test.ts index 9ec420046..9367af987 100644 --- a/test/tools/auth0/handlers/networkACLs.test.ts +++ b/test/tools/auth0/handlers/networkACLs.test.ts @@ -81,9 +81,9 @@ describe('#networkACLs handler', () => { (() => expect(this).to.not.be.undefined)(); expect(data).to.be.an('object'); expect(data.description).to.equal(sampleNetworkACL.description); - return Promise.resolve({ data }); + return Promise.resolve(data); }, - getAll: (params) => mockPagedData(params, 'network_acls', []), + list: (params) => mockPagedData(params, 'network_acls', []), }, pool, }; @@ -101,7 +101,7 @@ describe('#networkACLs handler', () => { it('should get networkACLs', async () => { const auth0 = { networkAcls: { - getAll: (params) => mockPagedData(params, 'network_acls', [sampleNetworkACL]), + list: (params) => mockPagedData(params, 'network_acls', [sampleNetworkACL]), }, pool, }; @@ -114,7 +114,7 @@ describe('#networkACLs handler', () => { it('should handle 403 error when tenant ACL Management is not enabled', async () => { const auth0 = { networkAcls: { - getAll: () => Promise.reject(Object.assign(new Error('Forbidden'), { statusCode: 403 })), + list: () => Promise.reject(Object.assign(new Error('Forbidden'), { statusCode: 403 })), }, }; @@ -126,15 +126,15 @@ describe('#networkACLs handler', () => { it('should update networkACLs', async () => { const auth0 = { networkAcls: { - update: function (params, data) { + update: function (id, data) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal(sampleNetworkACL.id); + expect(id).to.be.a('string'); + expect(id).to.equal(sampleNetworkACL.id); expect(data).to.be.an('object'); expect(data.description).to.equal(sampleNetworkACL.description); - return Promise.resolve({ data }); + return Promise.resolve(data); }, - getAll: (params) => mockPagedData(params, 'network_acls', [sampleNetworkACL]), + list: (params) => mockPagedData(params, 'network_acls', [sampleNetworkACL]), }, pool, }; @@ -173,22 +173,21 @@ describe('#networkACLs handler', () => { (() => expect(this).to.not.be.undefined)(); expect(data).to.be.an('object'); expect(data.description).to.equal(newNetworkACL.description); - return Promise.resolve({ data }); + return Promise.resolve(data); }, - delete: function (params) { + delete: function (id) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal(sampleNetworkACL.id); - return Promise.resolve({ data: [] }); + expect(id).to.be.a('string'); + expect(id).to.equal(sampleNetworkACL.id); + return Promise.resolve([]); }, - update: function (params, data) { + update: function (id, data) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.be.a('string'); + expect(id).to.be.a('string'); expect(data).to.be.an('object'); - return Promise.resolve({ data }); + return Promise.resolve(data); }, - getAll: (params) => mockPagedData(params, 'network_acls', [sampleNetworkACL]), + list: (params) => mockPagedData(params, 'network_acls', [sampleNetworkACL]), }, pool, }; @@ -204,12 +203,12 @@ describe('#networkACLs handler', () => { let idDeleteCalled = false; const auth0 = { networkAcls: { - delete: (params) => { + delete: (id) => { idDeleteCalled = true; - expect(params).to.be.an('undefined'); - return Promise.resolve({ data: [] }); + expect(id).to.be.an('undefined'); + return Promise.resolve([]); }, - getAll: (params) => mockPagedData(params, 'network_acls', [sampleNetworkACL]), + list: (params) => mockPagedData(params, 'network_acls', [sampleNetworkACL]), }, pool, }; @@ -226,14 +225,14 @@ describe('#networkACLs handler', () => { let removed = false; const auth0 = { networkAcls: { - delete: function (params) { + delete: function (id) { removed = true; (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal(sampleNetworkACL.id); - return Promise.resolve({ data: [] }); + expect(id).to.be.a('string'); + expect(id).to.equal(sampleNetworkACL.id); + return Promise.resolve([]); }, - getAll: (params) => mockPagedData(params, 'network_acls', [sampleNetworkACL]), + list: (params) => mockPagedData(params, 'network_acls', [sampleNetworkACL]), }, pool, }; diff --git a/test/tools/auth0/handlers/organizations.tests.js b/test/tools/auth0/handlers/organizations.tests.js index 235e51fe7..a9f5964f5 100644 --- a/test/tools/auth0/handlers/organizations.tests.js +++ b/test/tools/auth0/handlers/organizations.tests.js @@ -157,29 +157,51 @@ describe('#organizations handler', () => { data.id = 'fake'; return Promise.resolve({ data }); }, - update: () => Promise.resolve({ data: [] }), - delete: () => Promise.resolve({ data: [] }), - getAll: (params) => Promise.resolve(mockPagedData(params, 'organizations', [])), - addEnabledConnection: (org, connection) => { - expect(org.id).to.equal('fake'); - expect(connection).to.be.an('object'); - expect(connection.connection_id).to.equal('con_123'); - expect(connection.assign_membership_on_login).to.equal(true); - expect(connection.show_as_button).to.equal(false); - expect(connection.is_signup_enabled).to.equal(true); - return Promise.resolve({ data: connection }); + update: () => Promise.resolve([]), + delete: () => Promise.resolve([]), + list: (params) => Promise.resolve(mockPagedData(params, 'organizations', [])), + enabledConnections: { + add: (org, connection) => { + expect(org).to.equal('fake'); + expect(connection).to.be.an('object'); + expect(connection.connection_id).to.equal('con_123'); + expect(connection.assign_membership_on_login).to.equal(true); + expect(connection.show_as_button).to.equal(false); + expect(connection.is_signup_enabled).to.equal(true); + return Promise.resolve(connection); + }, + list: () => ({ + data: [], + hasNextPage: () => false, + getNextPage: () => + Promise.resolve({ + data: [], + hasNextPage: () => false, + getNextPage: () => Promise.resolve({ data: [], hasNextPage: () => false }), + }), + }), }, - createOrganizationClientGrants: (orgId, clientGrants) => { - expect(orgId).to.equal('fake'); - expect(clientGrants).to.be.an('array'); - expect(clientGrants).to.have.length(1); - expect(clientGrants[0].client_id).to.equal('abc_123'); - return Promise.resolve({ data: clientGrants }); + clientGrants: { + create: (orgId, clientGrant) => { + expect(orgId).to.equal('fake'); + expect(clientGrant).to.be.an('object'); + expect(clientGrant).to.have.property('grant_id'); + return Promise.resolve({ grant_id: clientGrant.grant_id }); + }, + list: () => ({ + data: [], + hasNextPage: () => false, + getNextPage: () => + Promise.resolve({ + data: [], + hasNextPage: () => false, + getNextPage: () => Promise.resolve({ data: [], hasNextPage: () => false }), + }), + }), }, - postOrganizationClientGrants: () => Promise.resolve({ data: sampleClientGrant }), }, connections: { - getAll: (params) => + list: (params) => mockPagedData(params, 'connections', [ { id: sampleEnabledConnection.connection_id, @@ -195,10 +217,10 @@ describe('#organizations handler', () => { ]), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', sampleClients), + list: (params) => mockPagedData(params, 'clients', sampleClients), }, clientGrants: { - getAll: (params) => mockPagedData(params, 'client_grants', [sampleClientGrant]), + list: (params) => mockPagedData(params, 'client_grants', [sampleClientGrant]), }, pool, }; @@ -256,19 +278,25 @@ describe('#organizations handler', () => { }, update: () => Promise.resolve({ data: [] }), delete: () => Promise.resolve({ data: [] }), - getAll: (params) => Promise.resolve(mockPagedData(params, 'organizations', [sampleOrg])), - getEnabledConnections: () => Promise.resolve({ data: [] }), - getOrganizationClientGrants: () => ({ data: [] }), - getAllDiscoveryDomains: () => Promise.resolve({ data: [], next: undefined }), + list: (params) => Promise.resolve(mockPagedData(params, 'organizations', [sampleOrg])), + enabledConnections: { + list: () => mockPagedData({}, 'enabled_connections', []), + }, + clientGrants: { + list: () => mockPagedData({}, 'client_grants', []), + }, + discoveryDomains: { + list: () => mockPagedData({}, 'discovery_domains', []), + }, }, connections: { - getAll: (params) => mockPagedData(params, 'connections', []), + list: (params) => mockPagedData(params, 'connections', []), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', sampleClients), + list: (params) => mockPagedData(params, 'clients', sampleClients), }, clientGrants: { - getAll: (params) => mockPagedData(params, 'client_grants', [sampleClientGrant]), + list: (params) => mockPagedData(params, 'client_grants', [sampleClientGrant]), }, pool, }; @@ -282,14 +310,19 @@ describe('#organizations handler', () => { it('should get organizations', async () => { const auth0 = { organizations: { - getAll: (params) => Promise.resolve(mockPagedData(params, 'organizations', [sampleOrg])), - getEnabledConnections: () => ({ data: [sampleEnabledConnection] }), - getOrganizationClientGrants: () => ({ data: sampleOrgClientGrants }), - getAllDiscoveryDomains: () => - Promise.resolve({ data: [sampleDiscoveryDomain], next: undefined }), + list: (params) => Promise.resolve(mockPagedData(params, 'organizations', [sampleOrg])), + enabledConnections: { + list: () => mockPagedData({}, 'enabled_connections', [sampleEnabledConnection]), + }, + clientGrants: { + list: () => mockPagedData({}, 'client_grants', sampleOrgClientGrants), + }, + discoveryDomains: { + list: () => mockPagedData({}, 'discovery_domains', [sampleDiscoveryDomain]), + }, }, clients: { - getAll: (params) => mockPagedData(params, 'clients', sampleClients), + list: (params) => mockPagedData(params, 'clients', sampleClients), }, pool, }; @@ -307,27 +340,34 @@ describe('#organizations handler', () => { it('should get all organizations', async function () { const organizationsPage1 = Array.from({ length: 3 }, (v, i) => ({ + id: 'org_' + i, name: 'acme' + i, display_name: 'Acme ' + i, })); const organizationsPage2 = Array.from({ length: 5 }, (v, i) => ({ + id: 'org_' + (i + 10), name: 'acme' + (i + 10), display_name: 'Acme ' + (i + 10), })); const auth0 = { organizations: { - getAll: (params) => + list: (params) => Promise.resolve( mockPagedData(params, 'organizations', [...organizationsPage2, ...organizationsPage1]) ), - getEnabledConnections: () => Promise.resolve({ data: { connections: [] } }), - getOrganizationClientGrants: () => - Promise.resolve({ data: { client_grants: [], total: 0 } }), - getAllDiscoveryDomains: () => Promise.resolve({ data: [], next: undefined }), + enabledConnections: { + list: () => mockPagedData({}, 'enabled_connections', []), + }, + clientGrants: { + list: () => mockPagedData({}, 'client_grants', []), + }, + discoveryDomains: { + list: () => mockPagedData({}, 'discovery_domains', []), + }, }, clients: { - getAll: (params) => mockPagedData(params, 'clients', sampleClients), + list: (params) => mockPagedData(params, 'clients', sampleClients), }, pool, }; @@ -339,6 +379,20 @@ describe('#organizations handler', () => { it('should return an empty array for old versions of the sdk', async () => { const auth0 = { + organizations: { + list: () => { + const error = new Error('organizations.list is not a function'); + error.statusCode = 501; + throw error; + }, + }, + clients: { + list: () => { + const error = new Error('clients.list is not a function'); + error.statusCode = 501; + throw error; + }, + }, pool, }; @@ -350,14 +404,14 @@ describe('#organizations handler', () => { it('should return an empty array for 501 status code', async () => { const auth0 = { organizations: { - getAll: () => { + list: () => { const error = new Error('Feature is not yet implemented'); error.statusCode = 501; throw error; }, }, clients: { - getAll: (params) => mockPagedData(params, 'clients', sampleClients), + list: (params) => mockPagedData(params, 'clients', sampleClients), }, pool, }; @@ -370,14 +424,14 @@ describe('#organizations handler', () => { it('should return an empty array for 404 status code', async () => { const auth0 = { organizations: { - getAll: () => { + list: () => { const error = new Error('Not found'); error.statusCode = 404; throw error; }, }, clients: { - getAll: (params) => mockPagedData(params, 'clients', sampleClients), + list: (params) => mockPagedData(params, 'clients', sampleClients), }, pool, }; @@ -390,7 +444,7 @@ describe('#organizations handler', () => { it('should throw an error for all other failed requests', async () => { const auth0 = { organizations: { - getAll: () => { + list: () => { const error = new Error('Bad request'); error.statusCode = 500; throw error; @@ -411,19 +465,25 @@ describe('#organizations handler', () => { let shouldThrow = false; const auth0 = { organizations: { - getAll: (params) => { + list: (params) => { if (!shouldThrow) { return mockPagedData(params, 'organizations', [sampleOrg]); } throw new Error('Unexpected'); }, - getEnabledConnections: () => Promise.resolve({ data: [] }), - getOrganizationClientGrants: () => ({ data: [] }), - getAllDiscoveryDomains: () => Promise.resolve({ data: [], next: undefined }), + enabledConnections: { + list: () => mockPagedData({}, 'enabled_connections', []), + }, + clientGrants: { + list: () => mockPagedData({}, 'client_grants', []), + }, + discoveryDomains: { + list: () => mockPagedData({}, 'discovery_domains', []), + }, }, clients: { - getAll: (params) => mockPagedData(params, 'clients', sampleClients), + list: (params) => mockPagedData(params, 'clients', sampleClients), }, pool, }; @@ -441,59 +501,67 @@ describe('#organizations handler', () => { const auth0 = { organizations: { create: () => Promise.resolve({ data: [] }), - update: function (params, data) { + update: function (id, data) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal('123'); + expect(id).to.equal('123'); expect(data.display_name).to.equal('Acme 2'); - return Promise.resolve({ data }); + return Promise.resolve(data); }, - delete: () => Promise.resolve({ data: [] }), - getAll: (params) => + delete: () => Promise.resolve([]), + list: (params) => Promise.resolve( mockPagedData({ ...params, include_totals: true }, 'organizations', [sampleOrg]) ), - getEnabledConnections: () => ({ - data: [sampleEnabledConnection, sampleEnabledConnection2], - }), - addEnabledConnection: (params, data) => { - expect(params).to.be.an('object'); - expect(params.id).to.equal('123'); - expect(data).to.be.an('object'); - expect(data.connection_id).to.equal('con_789'); - expect(data.assign_membership_on_login).to.equal(false); - return Promise.resolve({ data }); - }, - removeEnabledConnection: (params) => { - expect(params).to.be.an('object'); - expect(params.id).to.equal('123'); - expect(params.connection_id).to.equal(sampleEnabledConnection2.connection_id); - return Promise.resolve({ data: undefined }); - }, - updateEnabledConnection: (params, data) => { - if (params.connectionId === sampleEnabledConnection.connection_id) { - expect(params).to.be.an('object'); - expect(params.id).to.equal('123'); - expect(params.connectionId).to.equal(sampleEnabledConnection.connection_id); + enabledConnections: { + list: () => ({ + data: [sampleEnabledConnection, sampleEnabledConnection2], + hasNextPage: () => false, + getNextPage: () => + Promise.resolve({ + data: [], + hasNextPage: () => false, + getNextPage: () => Promise.resolve({ data: [], hasNextPage: () => false }), + }), + }), + add: (orgId, data) => { + expect(orgId).to.equal('123'); expect(data).to.be.an('object'); + expect(data.connection_id).to.equal('con_789'); expect(data.assign_membership_on_login).to.equal(false); - expect(data.show_as_button).to.equal(true); - expect(data.is_signup_enabled).to.equal(false); - } else { - expect(params).to.be.an('object'); - expect(params.id).to.equal('123'); - expect(params.connectionId).to.equal(sampleEnabledConnection2.connection_id); - expect(data).to.be.an('object'); - expect(data.assign_membership_on_login).to.equal(true); - expect(data.show_as_button).to.equal(false); - } - return Promise.resolve(data); + return Promise.resolve(data); + }, + delete: (orgId, connectionId) => { + expect(orgId).to.equal('123'); + expect(connectionId).to.equal(sampleEnabledConnection2.connection_id); + return Promise.resolve(undefined); + }, + update: (orgId, connectionId, data) => { + if (connectionId === sampleEnabledConnection.connection_id) { + expect(orgId).to.equal('123'); + expect(connectionId).to.equal(sampleEnabledConnection.connection_id); + expect(data).to.be.an('object'); + expect(data.assign_membership_on_login).to.equal(false); + expect(data.show_as_button).to.equal(true); + expect(data.is_signup_enabled).to.equal(false); + } else { + expect(orgId).to.equal('123'); + expect(connectionId).to.equal(sampleEnabledConnection2.connection_id); + expect(data).to.be.an('object'); + expect(data.assign_membership_on_login).to.equal(true); + expect(data.show_as_button).to.equal(false); + } + return Promise.resolve(data); + }, + }, + clientGrants: { + list: () => mockPagedData({}, 'client_grants', []), + }, + discoveryDomains: { + list: () => mockPagedData({}, 'discovery_domains', []), }, - getOrganizationClientGrants: () => ({ data: [] }), - getAllDiscoveryDomains: () => Promise.resolve({ data: [], next: undefined }), }, connections: { - getAll: (params) => + list: (params) => mockPagedData({ ...params, include_totals: true }, 'connections', [ { id: sampleEnabledConnection.connection_id, @@ -509,10 +577,10 @@ describe('#organizations handler', () => { ]), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', sampleClients), + list: (params) => mockPagedData(params, 'clients', sampleClients), }, clientGrants: { - getAll: (params) => mockPagedData(params, 'client_grants', [sampleClientGrant]), + list: (params) => mockPagedData(params, 'client_grants', [sampleClientGrant]), }, pool, }; @@ -545,32 +613,45 @@ describe('#organizations handler', () => { it('should add an enabled connection to the organizations', async () => { const auth0 = { organizations: { - create: () => Promise.resolve({ data: [] }), - update: function (params, data) { + create: () => Promise.resolve([]), + update: function (id, data) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal('123'); + expect(id).to.equal('123'); expect(data.display_name).to.equal('Acme 2'); - return Promise.resolve({ data }); + return Promise.resolve(data); }, - delete: () => Promise.resolve({ data: [] }), - getAll: (params) => Promise.resolve(mockPagedData(params, 'organizations', [sampleOrg])), - getEnabledConnections: () => ({ data: [] }), - addEnabledConnection: (params, data) => { - expect(params).to.be.an('object'); - expect(params.id).to.equal('123'); - expect(data).to.be.an('object'); - expect(data.connection_id).to.equal('con_123'); - expect(data.assign_membership_on_login).to.equal(false); - expect(data.show_as_button).to.equal(false); - expect(data.is_signup_enabled).to.equal(false); - return Promise.resolve({ data }); + delete: () => Promise.resolve([]), + list: (params) => Promise.resolve(mockPagedData(params, 'organizations', [sampleOrg])), + enabledConnections: { + list: () => ({ + data: [], + hasNextPage: () => false, + getNextPage: () => + Promise.resolve({ + data: [], + hasNextPage: () => false, + getNextPage: () => Promise.resolve({ data: [], hasNextPage: () => false }), + }), + }), + add: (orgId, data) => { + expect(orgId).to.equal('123'); + expect(data).to.be.an('object'); + expect(data.connection_id).to.equal('con_123'); + expect(data.assign_membership_on_login).to.equal(false); + expect(data.show_as_button).to.equal(false); + expect(data.is_signup_enabled).to.equal(false); + return Promise.resolve(data); + }, + }, + clientGrants: { + list: () => mockPagedData({}, 'client_grants', []), + }, + discoveryDomains: { + list: () => mockPagedData({}, 'discovery_domains', []), }, - getOrganizationClientGrants: () => ({ data: [] }), - getAllDiscoveryDomains: () => Promise.resolve({ data: [], next: undefined }), }, connections: { - getAll: (params) => + list: (params) => mockPagedData(params, 'connections', [ { id: sampleEnabledConnection.connection_id, @@ -586,10 +667,10 @@ describe('#organizations handler', () => { ]), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', sampleClients), + list: (params) => mockPagedData(params, 'clients', sampleClients), }, clientGrants: { - getAll: (params) => mockPagedData(params, 'client_grants', [sampleClientGrant]), + list: (params) => mockPagedData(params, 'client_grants', [sampleClientGrant]), }, pool, }; @@ -622,32 +703,40 @@ describe('#organizations handler', () => { const auth0 = { organizations: { create: () => Promise.resolve([]), - update: function (params, data) { + update: function (id, data) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal('123'); + expect(id).to.equal('123'); expect(data.display_name).to.equal('Acme 2'); - return Promise.resolve({ data }); + return Promise.resolve(data); }, - delete: () => Promise.resolve({ data: [] }), - getAll: (params) => Promise.resolve(mockPagedData(params, 'organizations', [sampleOrg])), - getEnabledConnections: () => ({ data: [sampleEnabledConnection2] }), - deleteEnabledConnection: (params) => { - expect(params).to.be.an('object'); - expect(params.connectionId).to.equal(sampleEnabledConnection2.connection_id); - return Promise.resolve({ data: [] }); + delete: () => Promise.resolve([]), + list: (params) => Promise.resolve(mockPagedData(params, 'organizations', [sampleOrg])), + enabledConnections: { + list: () => ({ + data: [sampleEnabledConnection2], + hasNextPage: () => false, + getNextPage: () => + Promise.resolve({ + data: [], + hasNextPage: () => false, + getNextPage: () => Promise.resolve({ data: [], hasNextPage: () => false }), + }), + }), + delete: (orgId, connectionId) => { + expect(orgId).to.equal('123'); + expect(connectionId).to.equal(sampleEnabledConnection2.connection_id); + return Promise.resolve(undefined); + }, }, - removeEnabledConnection: (params) => { - expect(params).to.be.an('object'); - expect(params.id).to.equal('123'); - expect(params.connection_id).to.equal(sampleEnabledConnection2.connection_id); - return Promise.resolve({ data: undefined }); + clientGrants: { + list: () => mockPagedData({}, 'client_grants', []), + }, + discoveryDomains: { + list: () => mockPagedData({}, 'discovery_domains', []), }, - getOrganizationClientGrants: () => ({ data: [] }), - getAllDiscoveryDomains: () => Promise.resolve({ data: [], next: undefined }), }, connections: { - getAll: (params) => + list: (params) => mockPagedData(params, 'connections', [ { id: sampleEnabledConnection.connection_id, @@ -663,10 +752,10 @@ describe('#organizations handler', () => { ]), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', sampleClients), + list: (params) => mockPagedData(params, 'clients', sampleClients), }, clientGrants: { - getAll: (params) => mockPagedData(params, 'client_grants', [sampleClientGrant]), + list: (params) => mockPagedData(params, 'client_grants', [sampleClientGrant]), }, pool, }; @@ -691,21 +780,26 @@ describe('#organizations handler', () => { const auth0 = { organizations: { create: () => Promise.resolve([]), - update: function (params, data) { + update: function (id, data) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal('123'); + expect(id).to.equal('123'); expect(data.display_name).to.equal('Acme 2'); - return Promise.resolve({ data }); + return Promise.resolve(data); + }, + delete: () => Promise.resolve([]), + list: (params) => Promise.resolve(mockPagedData(params, 'organizations', [sampleOrg])), + enabledConnections: { + list: () => mockPagedData({}, 'enabled_connections', []), + }, + clientGrants: { + list: () => mockPagedData({}, 'client_grants', []), + }, + discoveryDomains: { + list: () => mockPagedData({}, 'discovery_domains', []), }, - delete: () => Promise.resolve({ data: [] }), - getAll: (params) => Promise.resolve(mockPagedData(params, 'organizations', [sampleOrg])), - getEnabledConnections: () => ({ data: [] }), - getOrganizationClientGrants: () => ({ data: [] }), - getAllDiscoveryDomains: () => Promise.resolve({ data: [], next: undefined }), }, connections: { - getAll: (params) => + list: (params) => mockPagedData(params, 'connections', [ { id: sampleEnabledConnection.connection_id, @@ -721,10 +815,10 @@ describe('#organizations handler', () => { ]), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', sampleClients), + list: (params) => mockPagedData(params, 'clients', sampleClients), }, clientGrants: { - getAll: (params) => mockPagedData(params, 'client_grants', [sampleClientGrant]), + list: (params) => mockPagedData(params, 'client_grants', [sampleClientGrant]), }, pool, }; @@ -749,26 +843,31 @@ describe('#organizations handler', () => { it('should delete organizations', async () => { const auth0 = { organizations: { - create: () => Promise.resolve({ data: [] }), - update: () => Promise.resolve({ data: [] }), - delete: (data) => { - expect(data).to.be.an('object'); - expect(data.id).to.equal(sampleOrg.id); - return Promise.resolve({ data }); + create: () => Promise.resolve([]), + update: () => Promise.resolve([]), + delete: (orgId) => { + expect(orgId).to.equal(sampleOrg.id); + return Promise.resolve(); + }, + list: (params) => Promise.resolve(mockPagedData(params, 'organizations', [sampleOrg])), + enabledConnections: { + list: () => mockPagedData({}, 'enabled_connections', []), + }, + clientGrants: { + list: () => mockPagedData({}, 'client_grants', []), + }, + discoveryDomains: { + list: () => mockPagedData({}, 'discovery_domains', []), }, - getAll: (params) => Promise.resolve(mockPagedData(params, 'organizations', [sampleOrg])), - getEnabledConnections: () => [], - getOrganizationClientGrants: () => ({ data: [] }), - getAllDiscoveryDomains: () => Promise.resolve({ data: [], next: undefined }), }, connections: { - getAll: (params) => mockPagedData(params, 'connections', []), + list: (params) => mockPagedData(params, 'connections', []), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', sampleClients), + list: (params) => mockPagedData(params, 'clients', sampleClients), }, clientGrants: { - getAll: (params) => mockPagedData(params, 'client_grants', [sampleClientGrant]), + list: (params) => mockPagedData(params, 'client_grants', [sampleClientGrant]), }, pool, }; @@ -790,24 +889,26 @@ describe('#organizations handler', () => { }, update: () => Promise.resolve({ data: [] }), delete: () => Promise.resolve({ data: [] }), - getAll: (params) => Promise.resolve(mockPagedData(params, 'organizations', [])), - createDiscoveryDomain: (params, domain) => { - expect(params.id).to.equal('fake'); - expect(domain).to.be.an('object'); - expect(domain.domain).to.equal('login.acme.com'); - expect(domain.status).to.equal('pending'); - return Promise.resolve({ data: { ...domain, id: 'dd_new' } }); + list: (params) => Promise.resolve(mockPagedData(params, 'organizations', [])), + discoveryDomains: { + list: () => mockPagedData({}, 'discovery_domains', []), + create: (orgId, domain) => { + expect(orgId).to.equal('fake'); + expect(domain).to.be.an('object'); + expect(domain.domain).to.equal('login.acme.com'); + expect(domain.status).to.equal('pending'); + return Promise.resolve({ data: { ...domain, id: 'dd_new' } }); + }, }, - getAllDiscoveryDomains: () => Promise.resolve({ data: [], next: undefined }), }, connections: { - getAll: (params) => mockPagedData(params, 'connections', []), + list: (params) => mockPagedData(params, 'connections', []), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', sampleClients), + list: (params) => mockPagedData(params, 'clients', sampleClients), }, clientGrants: { - getAll: (params) => mockPagedData(params, 'client_grants', [sampleClientGrant]), + list: (params) => mockPagedData(params, 'client_grants', [sampleClientGrant]), }, pool, }; @@ -831,43 +932,48 @@ describe('#organizations handler', () => { const auth0 = { organizations: { create: () => Promise.resolve({ data: [] }), - update: function (params, data) { + update: function (id, data) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal('123'); + expect(id).to.be.a('string'); + expect(id).to.equal('123'); return Promise.resolve({ data }); }, delete: () => Promise.resolve({ data: [] }), - getAll: (params) => Promise.resolve(mockPagedData(params, 'organizations', [sampleOrg])), - getEnabledConnections: () => ({ data: [] }), - getOrganizationClientGrants: () => ({ data: [] }), - getAllDiscoveryDomains: () => - Promise.resolve({ data: [sampleDiscoveryDomain], next: undefined }), - updateDiscoveryDomain: (params, body) => { - expect(params.id).to.equal('123'); - expect(params.discovery_domain_id).to.equal('dd_123'); - expect(body.status).to.equal('verified'); - return Promise.resolve({ data: { ...sampleDiscoveryDomain, status: 'verified' } }); + list: (params) => Promise.resolve(mockPagedData(params, 'organizations', [sampleOrg])), + enabledConnections: { + list: () => mockPagedData({}, 'enabled_connections', []), }, - createDiscoveryDomain: (params, domain) => { - expect(params.id).to.equal('123'); - expect(domain.domain).to.equal('auth.acme.com'); - return Promise.resolve({ data: { ...domain, id: 'dd_new' } }); + clientGrants: { + list: () => mockPagedData({}, 'client_grants', []), }, - deleteDiscoveryDomain: (params) => { - expect(params.id).to.equal('123'); - expect(params.discovery_domain_id).to.equal('dd_123'); - return Promise.resolve({ data: {} }); + discoveryDomains: { + list: () => mockPagedData({}, 'discovery_domains', [sampleDiscoveryDomain]), + update: (orgId, discoveryDomainId, body) => { + expect(orgId).to.equal('123'); + expect(discoveryDomainId).to.equal('dd_123'); + expect(body.status).to.equal('verified'); + return Promise.resolve({ data: { ...sampleDiscoveryDomain, status: 'verified' } }); + }, + create: (orgId, domain) => { + expect(orgId).to.equal('123'); + expect(domain.domain).to.equal('auth.acme.com'); + return Promise.resolve({ data: { ...domain, id: 'dd_new' } }); + }, + delete: (orgId, discoveryDomainId) => { + expect(orgId).to.equal('123'); + expect(discoveryDomainId).to.equal('dd_123'); + return Promise.resolve({ data: {} }); + }, }, }, connections: { - getAll: (params) => mockPagedData(params, 'connections', []), + list: (params) => mockPagedData(params, 'connections', []), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', sampleClients), + list: (params) => mockPagedData(params, 'clients', sampleClients), }, clientGrants: { - getAll: (params) => mockPagedData(params, 'client_grants', [sampleClientGrant]), + list: (params) => mockPagedData(params, 'client_grants', [sampleClientGrant]), }, pool, }; @@ -896,19 +1002,23 @@ describe('#organizations handler', () => { const auth0 = { organizations: { create: () => Promise.resolve({ data: [] }), - update: function (params, data) { + update: function (id, data) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal('123'); + expect(id).to.be.a('string'); + expect(id).to.equal('123'); return Promise.resolve({ data }); }, delete: () => Promise.resolve({ data: [] }), - getAll: (params) => Promise.resolve(mockPagedData(params, 'organizations', [sampleOrg])), - getEnabledConnections: () => ({ data: [] }), - getOrganizationClientGrants: () => ({ data: [] }), - getAllDiscoveryDomains: () => - Promise.resolve({ - data: [ + list: (params) => Promise.resolve(mockPagedData(params, 'organizations', [sampleOrg])), + enabledConnections: { + list: () => mockPagedData({}, 'enabled_connections', []), + }, + clientGrants: { + list: () => mockPagedData({}, 'client_grants', []), + }, + discoveryDomains: { + list: () => + mockPagedData({}, 'discovery_domains', [ sampleDiscoveryDomain, { id: 'dd_456', @@ -917,28 +1027,27 @@ describe('#organizations handler', () => { verification_txt: 'auth0-domain-verification=abc', verification_host: '_auth0-domain-verification.auth.acme.com', }, - ], - next: undefined, - }), - updateDiscoveryDomain: (params, body) => { - expect(params.id).to.equal('123'); - expect(params.discovery_domain_id).to.equal('dd_123'); - return Promise.resolve({ data: { ...sampleDiscoveryDomain, ...body } }); - }, - deleteDiscoveryDomain: (params) => { - expect(params.id).to.equal('123'); - expect(params.discovery_domain_id).to.equal('dd_456'); - return Promise.resolve({ data: {} }); + ]), + update: (orgId, discoveryDomainId, body) => { + expect(orgId).to.equal('123'); + expect(discoveryDomainId).to.equal('dd_123'); + return Promise.resolve({ data: { ...sampleDiscoveryDomain, ...body } }); + }, + delete: (orgId, discoveryDomainId) => { + expect(orgId).to.equal('123'); + expect(discoveryDomainId).to.equal('dd_456'); + return Promise.resolve({ data: {} }); + }, }, }, connections: { - getAll: (params) => mockPagedData(params, 'connections', []), + list: (params) => mockPagedData(params, 'connections', []), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', sampleClients), + list: (params) => mockPagedData(params, 'clients', sampleClients), }, clientGrants: { - getAll: (params) => mockPagedData(params, 'client_grants', [sampleClientGrant]), + list: (params) => mockPagedData(params, 'client_grants', [sampleClientGrant]), }, pool, }; @@ -975,19 +1084,23 @@ describe('#organizations handler', () => { const auth0 = { organizations: { create: () => Promise.resolve({ data: [] }), - update: function (params, data) { + update: function (id, data) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal('123'); + expect(id).to.be.a('string'); + expect(id).to.equal('123'); return Promise.resolve({ data }); }, delete: () => Promise.resolve({ data: [] }), - getAll: (params) => Promise.resolve(mockPagedData(params, 'organizations', [sampleOrg])), - getEnabledConnections: () => ({ data: [] }), - getOrganizationClientGrants: () => ({ data: [] }), - getAllDiscoveryDomains: () => - Promise.resolve({ - data: [ + list: (params) => Promise.resolve(mockPagedData(params, 'organizations', [sampleOrg])), + enabledConnections: { + list: () => mockPagedData({}, 'enabled_connections', []), + }, + clientGrants: { + list: () => mockPagedData({}, 'client_grants', []), + }, + discoveryDomains: { + list: () => + mockPagedData({}, 'discovery_domains', [ sampleDiscoveryDomain, { id: 'dd_456', @@ -996,25 +1109,24 @@ describe('#organizations handler', () => { verification_txt: 'auth0-domain-verification=abc', verification_host: '_auth0-domain-verification.auth.acme.com', }, - ], - next: undefined, - }), - updateDiscoveryDomain: (params, body) => { - expect(params.id).to.equal('123'); - return Promise.resolve({ data: { ...sampleDiscoveryDomain, ...body } }); - }, - deleteDiscoveryDomain: () => { - throw new Error('deleteDiscoveryDomain should not be called when delete is disabled'); + ]), + update: (orgId, discoveryDomainId, body) => { + expect(orgId).to.equal('123'); + return Promise.resolve({ data: { ...sampleDiscoveryDomain, ...body } }); + }, + delete: () => { + throw new Error('deleteDiscoveryDomain should not be called when delete is disabled'); + }, }, }, connections: { - getAll: (params) => mockPagedData(params, 'connections', []), + list: (params) => mockPagedData(params, 'connections', []), }, clients: { - getAll: (params) => mockPagedData(params, 'clients', sampleClients), + list: (params) => mockPagedData(params, 'clients', sampleClients), }, clientGrants: { - getAll: (params) => mockPagedData(params, 'client_grants', [sampleClientGrant]), + list: (params) => mockPagedData(params, 'client_grants', [sampleClientGrant]), }, pool, }; diff --git a/test/tools/auth0/handlers/pages.tests.js b/test/tools/auth0/handlers/pages.tests.js index f4e4ab6ed..b5eaac265 100644 --- a/test/tools/auth0/handlers/pages.tests.js +++ b/test/tools/auth0/handlers/pages.tests.js @@ -9,16 +9,16 @@ describe('#pages handler', () => { it('should update login page', async () => { const auth0 = { clients: { - update: function (params, data) { + update: function (clientId, data) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); + expect(clientId).to.be.a('string'); expect(data).to.be.an('object'); - expect(params.client_id).to.equal('global1'); + expect(clientId).to.equal('global1'); expect(data.custom_login_page).to.equal('login_body'); expect(data.custom_login_page_on).to.equal(true); - return Promise.resolve({ data }); + return Promise.resolve(data); }, - getAll: (params) => mockPagedData(params, 'clients', [{ client_id: 'global1' }]), + list: (params) => mockPagedData(params, 'clients', [{ client_id: 'global1' }]), }, }; @@ -36,7 +36,7 @@ describe('#pages handler', () => { const auth0 = { clients: { - getAll: (params) => + list: (params) => mockPagedData(params, 'clients', [ { name: 'Global Client', @@ -47,13 +47,13 @@ describe('#pages handler', () => { ]), }, tenants: { - getSettings: () => ({ - data: { + settings: { + get: () => ({ guardian_mfa_page: { enabled: true, html: html }, change_password: { enabled: true, html: html }, error_page: { show_log_link: true, html: html, url: errorPageUrl }, - }, - }), + }), + }, }, }; @@ -75,12 +75,14 @@ describe('#pages handler', () => { it('should update password_reset page', async () => { const auth0 = { tenants: { - updateSettings: (data) => { - expect(data).to.be.an('object'); - expect(data.change_password).to.be.an('object'); - expect(data.change_password.html).to.equal('password_reset_body'); - expect(data.change_password.enabled).to.equal(false); - return Promise.resolve({ data }); + settings: { + update: (data) => { + expect(data).to.be.an('object'); + expect(data.change_password).to.be.an('object'); + expect(data.change_password.html).to.equal('password_reset_body'); + expect(data.change_password.enabled).to.equal(false); + return Promise.resolve(data); + }, }, }, }; @@ -98,13 +100,15 @@ describe('#pages handler', () => { const errorPageUrl = 'https://mycompany.org/error'; const auth0 = { tenants: { - updateSettings: (data) => { - expect(data).to.be.an('object'); - expect(data.error_page).to.be.an('object'); - expect(data.error_page.html).to.equal(errorPageHtml); - expect(data.error_page.url).to.equal(errorPageUrl); - expect(data.error_page.show_log_link).to.equal(true); - return Promise.resolve({ data }); + settings: { + update: (data) => { + expect(data).to.be.an('object'); + expect(data.error_page).to.be.an('object'); + expect(data.error_page.html).to.equal(errorPageHtml); + expect(data.error_page.url).to.equal(errorPageUrl); + expect(data.error_page.show_log_link).to.equal(true); + return Promise.resolve(data); + }, }, }, }; diff --git a/test/tools/auth0/handlers/phoneProvider.test.ts b/test/tools/auth0/handlers/phoneProvider.test.ts index 911d2c965..8b40ccfa5 100644 --- a/test/tools/auth0/handlers/phoneProvider.test.ts +++ b/test/tools/auth0/handlers/phoneProvider.test.ts @@ -21,7 +21,11 @@ describe('#phoneProviders handler', () => { it('should get phoneProviders', async () => { const auth0 = { branding: { - getAllPhoneProviders: () => Promise.resolve({ data: mockProviders }), + phone: { + providers: { + list: () => Promise.resolve(mockProviders), + }, + }, }, }; @@ -34,7 +38,11 @@ describe('#phoneProviders handler', () => { it('should return empty array if there are no phone providers', async () => { const auth0 = { branding: { - getAllPhoneProviders: () => Promise.resolve({ data: { providers: [] } }), + phone: { + providers: { + list: () => Promise.resolve({ providers: [] }), + }, + }, }, }; @@ -47,7 +55,11 @@ describe('#phoneProviders handler', () => { it('should fail for unexpected api errors', async () => { const auth0 = { branding: { - getAllPhoneProviders: () => Promise.reject(new Error('Unexpected API error')), + phone: { + providers: { + list: () => Promise.reject(new Error('Unexpected API error')), + }, + }, }, }; @@ -66,8 +78,12 @@ describe('#phoneProviders handler', () => { it('should configure phone provider', async () => { const auth0 = { branding: { - getAllPhoneProviders: () => Promise.resolve({ data: { providers: [] } }), - configurePhoneProvider: (data) => Promise.resolve({ data }), + phone: { + providers: { + list: () => Promise.resolve({ providers: [] }), + create: (data) => Promise.resolve(data), + }, + }, }, }; @@ -80,17 +96,20 @@ describe('#phoneProviders handler', () => { it('should update phone provider', async () => { const auth0 = { branding: { - getAllPhoneProviders: () => - Promise.resolve({ - data: { providers: [{ id: 'pro_5nbdb4pWifFdA1rV6pW6BE' }] }, - }), - updatePhoneProvider: (data, updatePayload) => { - expect(data).to.be.an('object'); - expect(data.id).to.equal('pro_5nbdb4pWifFdA1rV6pW6BE'); - expect(updatePayload).to.be.an('object'); - expect(updatePayload.name).to.equal('custom'); - expect(updatePayload.configuration.delivery_methods[0]).to.equal('text'); - return Promise.resolve({ data: { ...updatePayload, ...data } }); + phone: { + providers: { + list: () => + Promise.resolve({ + providers: [{ id: 'pro_5nbdb4pWifFdA1rV6pW6BE' }], + }), + update: (id, updatePayload) => { + expect(id).to.equal('pro_5nbdb4pWifFdA1rV6pW6BE'); + expect(updatePayload).to.be.an('object'); + expect(updatePayload.name).to.equal('custom'); + expect(updatePayload.configuration.delivery_methods[0]).to.equal('text'); + return Promise.resolve({ ...updatePayload, id }); + }, + }, }, }, }; @@ -113,10 +132,29 @@ describe('#phoneProviders handler', () => { it('should delete the phone provider when provider exists and AUTH0_ALLOW_DELETE is true', async () => { const AUTH0_ALLOW_DELETE = true; + const mockProvidersWithId = { + providers: [ + { + id: 'provider_123', + disabled: false, + name: 'twilio', + configuration: { + sid: 'twilio_sid', + default_from: '++15673812247', + delivery_methods: ['text', 'voice'], + }, + }, + ], + }; + const auth0 = { branding: { - getAllPhoneProviders: () => Promise.resolve({ data: mockProviders }), - deletePhoneProvider: () => Promise.resolve({ data: null }), + phone: { + providers: { + list: () => Promise.resolve(mockProvidersWithId), + delete: () => Promise.resolve(), + }, + }, }, }; @@ -132,11 +170,30 @@ describe('#phoneProviders handler', () => { it('shouldnot delete the phone provider when provider exists and AUTH0_ALLOW_DELETE is false', async () => { const AUTH0_ALLOW_DELETE = false; + const mockProvidersWithId = { + providers: [ + { + id: 'provider_123', + disabled: false, + name: 'twilio', + configuration: { + sid: 'twilio_sid', + default_from: '++15673812247', + delivery_methods: ['text', 'voice'], + }, + }, + ], + }; + const auth0 = { branding: { - getAllPhoneProviders: () => Promise.resolve({ data: mockProviders }), - deletePhoneProvider: () => { - throw new Error('was not expecting delete to be called'); + phone: { + providers: { + list: () => Promise.resolve(mockProvidersWithId), + delete: () => { + throw new Error('was not expecting delete to be called'); + }, + }, }, }, }; diff --git a/test/tools/auth0/handlers/prompts.tests.ts b/test/tools/auth0/handlers/prompts.tests.ts index 57e0bdee4..951984138 100644 --- a/test/tools/auth0/handlers/prompts.tests.ts +++ b/test/tools/auth0/handlers/prompts.tests.ts @@ -1,11 +1,10 @@ import { expect } from 'chai'; import _ from 'lodash'; import { PromisePoolExecutor } from 'promise-pool-executor'; -import sinon from 'sinon'; +import * as sinon from 'sinon'; import promptsHandler, { Prompts } from '../../../../src/tools/auth0/handlers/prompts'; import { Language } from '../../../../src/types'; import log from '../../../../src/logger'; -import { CustomPartialsPromptTypes } from '../../../../lib/tools/auth0/handlers/prompts'; const mockPromptsSettings = { universal_login_experience: 'classic', @@ -108,30 +107,38 @@ describe('#prompts handler', () => { const auth0 = { tenants: { - getSettings: () => - Promise.resolve({ - data: { + settings: { + get: () => + Promise.resolve({ enabled_locales: supportedLanguages, - }, - }), + }), + }, }, prompts: { - get: () => ({ data: mockPromptsSettings }), - getCustomTextByLanguage: ({ language, prompt }) => { - const customTextLanguageMap = { - en: englishCustomText, - es: spanishCustomText, - fr: frenchCustomText, - }; - const customTextValue = customTextLanguageMap[language][prompt]; - - if (customTextValue === undefined || _.isEmpty(customTextValue)) - return Promise.resolve({ data: {} }); - - return Promise.resolve({ data: customTextValue }); + getSettings: () => Promise.resolve(mockPromptsSettings), + customText: { + get: (prompt, language, _options) => { + const customTextLanguageMap = { + en: englishCustomText, + es: spanishCustomText, + fr: frenchCustomText, + }; + const customTextForLanguage = customTextLanguageMap[language]; + if (!customTextForLanguage || !customTextForLanguage[prompt]) { + return Promise.resolve({}); + } + + const customTextValue = customTextForLanguage[prompt]; // Get the wrapper object with prompt as key + + if (customTextValue === undefined || _.isEmpty(customTextValue)) + return Promise.resolve({}); + + return Promise.resolve(customTextValue); + }, + }, + rendering: { + list: () => [sampleScreenRenderLogin, sampleScreenRenderSignUp], }, - getAllRenderingSettings: () => - Promise.resolve({ data: [sampleScreenRenderLogin, sampleScreenRenderSignUp] }), }, pool: new PromisePoolExecutor({ concurrencyLimit: 3, @@ -146,13 +153,13 @@ describe('#prompts handler', () => { }); const getCustomPartial = sinon.stub(handler, 'getCustomPartial'); - getCustomPartial.withArgs({ prompt: 'login' }).resolves({ data: loginPartial }); + getCustomPartial.withArgs({ prompt: 'login' }).resolves(loginPartial); getCustomPartial.withArgs({ prompt: 'login-id' }).resolves({}); getCustomPartial.withArgs({ prompt: 'login-password' }).resolves({}); getCustomPartial.withArgs({ prompt: 'login-passwordless' }).resolves({}); getCustomPartial.withArgs({ prompt: 'signup-password' }).resolves({}); getCustomPartial.withArgs({ prompt: 'signup-id' }).resolves({}); - getCustomPartial.withArgs({ prompt: 'signup' }).resolves({ data: signupPartial }); + getCustomPartial.withArgs({ prompt: 'signup' }).resolves(signupPartial); const data = await handler.getType(); expect(data).to.deep.equal({ @@ -186,22 +193,23 @@ describe('#prompts handler', () => { const auth0 = { tenants: { - getSettings: () => ({ - enabled_locales: ['en'], - }), + settings: { + get: () => ({ + enabled_locales: ['en'], + }), + }, }, prompts: { - updateCustomTextByLanguage: () => { - didCallUpdateCustomText = true; + customText: { + set: () => { + didCallUpdateCustomText = true; + }, }, - update: (data) => { + updateSettings: (data) => { didCallUpdatePromptsSettings = true; expect(data).to.deep.equal(mockPromptsSettings); return Promise.resolve({ data }); }, - _getRestClient: (endpoint) => ({ - get: (...options) => Promise.resolve({ endpoint, method: 'get', options }), - }), }, }; @@ -290,19 +298,23 @@ describe('#prompts handler', () => { const auth0 = { prompts: { - updateCustomTextByLanguage: () => { - didCallUpdateCustomText = true; - numberOfUpdateCustomTextCalls++; - return Promise.resolve({ data: {} }); + customText: { + set: () => { + didCallUpdateCustomText = true; + numberOfUpdateCustomTextCalls++; + return Promise.resolve({ data: {} }); + }, }, - update: (data) => { + updateSettings: (data) => { didCallUpdatePromptsSettings = true; expect(data).to.deep.equal(mockPromptsSettings); return Promise.resolve({ data }); }, - updateRendering: () => { - didCallUpdateScreenRenderer = true; - return Promise.resolve({ data: {} }); + rendering: { + update: () => { + didCallUpdateScreenRenderer = true; + return Promise.resolve({ data: {} }); + }, }, _getRestClient: (endpoint) => ({ get: (...options) => Promise.resolve({ endpoint, method: 'get', options }), @@ -393,19 +405,23 @@ describe('#prompts handler', () => { const auth0 = { prompts: { - updateCustomTextByLanguage: () => { - didCallUpdateCustomText = true; - numberOfUpdateCustomTextCalls++; - return Promise.resolve({ data: {} }); + customText: { + set: () => { + didCallUpdateCustomText = true; + numberOfUpdateCustomTextCalls++; + return Promise.resolve({ data: {} }); + }, }, - update: (data) => { + updateSettings: (data) => { didCallUpdatePromptsSettings = true; expect(data).to.deep.equal(mockPromptsSettings); return Promise.resolve({ data }); }, - updateRendering: () => { - didCallUpdateScreenRenderer = true; - return Promise.resolve({ data: {} }); + rendering: { + update: () => { + didCallUpdateScreenRenderer = true; + return Promise.resolve({ data: {} }); + }, }, _getRestClient: (endpoint) => ({ get: (...options) => Promise.resolve({ endpoint, method: 'get', options }), @@ -454,20 +470,20 @@ describe('#prompts handler', () => { it('should not fail if tenant languages or partials are undefined', async () => { const auth0 = { tenants: { - getSettings: () => - Promise.resolve({ - data: { - enabled_locales: undefined, - }, - }), + settings: { + get: () => + Promise.resolve({ + data: { + enabled_locales: undefined, + }, + }), + }, }, prompts: { - get: () => ({ data: mockPromptsSettings }), - getSettings: () => mockPromptsSettings, - _getRestClient: (endpoint) => ({ - get: (...options) => Promise.resolve({ endpoint, method: 'get', options }), - }), - getAllRenderingSettings: () => Promise.resolve({ data: [] }), + getSettings: () => Promise.resolve(mockPromptsSettings), + rendering: { + list: () => [], + }, }, pool: new PromisePoolExecutor({ concurrencyLimit: 3, @@ -596,7 +612,7 @@ describe('#prompts handler', () => { handler.IsFeatureSupported = false; const result = await handler.getCustomPartial({ - prompt: 'login' as CustomPartialsPromptTypes, + prompt: 'login', }); expect(result).to.deep.equal({}); }); diff --git a/test/tools/auth0/handlers/resourceServers.tests.js b/test/tools/auth0/handlers/resourceServers.tests.js index ad9bbdf38..efd1caefb 100644 --- a/test/tools/auth0/handlers/resourceServers.tests.js +++ b/test/tools/auth0/handlers/resourceServers.tests.js @@ -82,11 +82,11 @@ describe('#resourceServers handler', () => { expect(data).to.be.an('object'); expect(data.name).to.equal('someAPI'); expect(data.identifier).to.equal('https://api.example.com'); - return Promise.resolve({ data }); + return Promise.resolve(data); }, - update: () => Promise.resolve({ data: [] }), - delete: () => Promise.resolve({ data: [] }), - getAll: (params) => mockPagedData(params, 'resource_servers', []), + update: () => Promise.resolve([]), + delete: () => Promise.resolve([]), + list: (params) => mockPagedData(params, 'resource_servers', []), }, pool, }; @@ -110,11 +110,11 @@ describe('#resourceServers handler', () => { mechanism: 'mtls', required: true, }); - return Promise.resolve({ data }); + return Promise.resolve(data); }, - update: () => Promise.resolve({ data: [] }), - delete: () => Promise.resolve({ data: [] }), - getAll: (params) => mockPagedData(params, 'resource_servers', []), + update: () => Promise.resolve([]), + delete: () => Promise.resolve([]), + list: (params) => mockPagedData(params, 'resource_servers', []), }, pool, }; @@ -149,11 +149,11 @@ describe('#resourceServers handler', () => { mechanism: 'dpop', required: true, }); - return Promise.resolve({ data }); + return Promise.resolve(data); }, - update: () => Promise.resolve({ data: [] }), - delete: () => Promise.resolve({ data: [] }), - getAll: (params) => mockPagedData(params, 'resource_servers', []), + update: () => Promise.resolve([]), + delete: () => Promise.resolve([]), + list: (params) => mockPagedData(params, 'resource_servers', []), }, pool, }; @@ -192,11 +192,11 @@ describe('#resourceServers handler', () => { policy: 'deny_all', }, }); - return Promise.resolve({ data }); + return Promise.resolve(data); }, - update: () => Promise.resolve({ data: [] }), - delete: () => Promise.resolve({ data: [] }), - getAll: (params) => mockPagedData(params, 'resource_servers', []), + update: () => Promise.resolve([]), + delete: () => Promise.resolve([]), + list: (params) => mockPagedData(params, 'resource_servers', []), }, pool, }; @@ -227,7 +227,7 @@ describe('#resourceServers handler', () => { it('should get resource servers', async () => { const auth0 = { resourceServers: { - getAll: (params) => + list: (params) => mockPagedData(params, 'resource_servers', [ { name: 'Auth0 Management API', @@ -247,15 +247,15 @@ describe('#resourceServers handler', () => { const auth0 = { resourceServers: { create: () => Promise.resolve([]), - update: function (params, data) { - expect(params).to.be.an('object'); + update: function (id, data) { + expect(id).to.be.a('string'); expect(data).to.be.an('object'); - expect(params.id).to.equal('rs1'); + expect(id).to.equal('rs1'); expect(data.scope).to.equal('new:scope'); - return Promise.resolve({ data }); + return Promise.resolve(data); }, - delete: () => Promise.resolve({ data: [] }), - getAll: (params) => + delete: () => Promise.resolve([]), + list: (params) => mockPagedData(params, 'resource_servers', [ { id: 'rs1', identifier: 'some-api', name: 'someAPI' }, ]), @@ -275,18 +275,18 @@ describe('#resourceServers handler', () => { const auth0 = { resourceServers: { create: () => Promise.resolve([]), - update: function (params, data) { - expect(params).to.be.an('object'); + update: function (id, data) { + expect(id).to.be.a('string'); expect(data).to.be.an('object'); - expect(params.id).to.equal('rs1'); + expect(id).to.equal('rs1'); expect(data.proof_of_possession).to.deep.equal({ mechanism: 'mtls', required: true, }); - return Promise.resolve({ data }); + return Promise.resolve(data); }, - delete: () => Promise.resolve({ data: [] }), - getAll: (params) => + delete: () => Promise.resolve([]), + list: (params) => mockPagedData(params, 'resource_servers', [ { id: 'rs1', identifier: 'some-api', name: 'someAPI' }, ]), @@ -317,18 +317,18 @@ describe('#resourceServers handler', () => { const auth0 = { resourceServers: { create: () => Promise.resolve([]), - update: function (params, data) { - expect(params).to.be.an('object'); + update: function (id, data) { + expect(id).to.be.a('string'); expect(data).to.be.an('object'); - expect(params.id).to.equal('rs1'); + expect(id).to.equal('rs1'); expect(data.proof_of_possession).to.deep.equal({ mechanism: 'dpop', required: false, }); - return Promise.resolve({ data }); + return Promise.resolve(data); }, - delete: () => Promise.resolve({ data: [] }), - getAll: (params) => + delete: () => Promise.resolve([]), + list: (params) => mockPagedData(params, 'resource_servers', [ { id: 'rs1', identifier: 'some-api', name: 'someAPI' }, ]), @@ -364,16 +364,16 @@ describe('#resourceServers handler', () => { expect(data.name).to.equal('someAPI'); expect(data.scope).to.equal('new:scope'); expect(data.identifier).to.equal('another-api'); - return Promise.resolve({ data }); + return Promise.resolve(data); }, - update: function (params, data) { + update: function (id, data) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be('undefined'); + expect(id).to.be('undefined'); expect(data).to.be('undefined'); - return Promise.resolve({ data }); + return Promise.resolve(data); }, delete: () => Promise.resolve([]), - getAll: (params) => + list: (params) => mockPagedData(params, 'resource_servers', [ { id: 'rs1', identifier: 'some-api', name: 'someAPI' }, ]), @@ -393,11 +393,11 @@ describe('#resourceServers handler', () => { const auth0 = { resourceServers: { create: () => Promise.resolve([]), - update: function (params, data) { + update: function (id, data) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); + expect(id).to.be.a('string'); expect(data).to.be.an('object'); - expect(params.id).to.equal('rs1'); + expect(id).to.equal('rs1'); expect(data.subject_type_authorization).to.deep.equal({ user: { policy: 'allow_all', @@ -406,10 +406,10 @@ describe('#resourceServers handler', () => { policy: 'require_client_grant', }, }); - return Promise.resolve({ data }); + return Promise.resolve(data); }, - delete: () => Promise.resolve({ data: [] }), - getAll: (params) => + delete: () => Promise.resolve([]), + list: (params) => mockPagedData(params, 'resource_servers', [ { id: 'rs1', identifier: 'some-api', name: 'advancedAPI' }, ]), @@ -446,11 +446,11 @@ describe('#resourceServers handler', () => { create: () => Promise.resolve([]), update: () => Promise.resolve([]), delete: (data) => { - expect(data).to.be.an('object'); - expect(data.id).to.equal('rs1'); - return Promise.resolve({ data }); + expect(data).to.be.a('string'); + expect(data).to.equal('rs1'); + return Promise.resolve(data); }, - getAll: (params) => + list: (params) => mockPagedData(params, 'resource_servers', [ { id: 'rs1', identifier: 'some-api', name: 'someAPI' }, ]), @@ -468,15 +468,15 @@ describe('#resourceServers handler', () => { let removed = false; const auth0 = { resourceServers: { - create: () => Promise.resolve({ data: [] }), - update: () => Promise.resolve({ data: [] }), + create: () => Promise.resolve([]), + update: () => Promise.resolve([]), delete: (data) => { - expect(data).to.be.an('object'); - expect(data.id).to.equal('rs1'); + expect(data).to.be.a('string'); + expect(data).to.equal('rs1'); removed = true; - return Promise.resolve({ data }); + return Promise.resolve(data); }, - getAll: (params) => + list: (params) => mockPagedData(params, 'resource_servers', [ { id: 'rs1', identifier: 'some-api', name: 'someAPI' }, ]), @@ -499,15 +499,15 @@ describe('#resourceServers handler', () => { let removed = false; const auth0 = { resourceServers: { - create: () => Promise.resolve({ data: [] }), - update: () => Promise.resolve({ data: [] }), + create: () => Promise.resolve([]), + update: () => Promise.resolve([]), delete: (data) => { - expect(data).to.be.an('object'); - expect(data.id).to.equal('rs1'); + expect(data).to.be.a('string'); + expect(data).to.equal('rs1'); removed = true; - return Promise.resolve({ data }); + return Promise.resolve(data); }, - getAll: (params) => + list: (params) => mockPagedData(params, 'resource_servers', [ { id: 'rs1', identifier: 'some-api', name: 'someAPI' }, ]), @@ -529,13 +529,13 @@ describe('#resourceServers handler', () => { update: function (data) { (() => expect(this).to.not.be.undefined)(); expect(data).to.be.an('undefined'); - return Promise.resolve({ data }); + return Promise.resolve(data); }, delete: (data) => { expect(data).to.be.an('undefined'); - return Promise.resolve({ data }); + return Promise.resolve(data); }, - getAll: (params) => + list: (params) => mockPagedData(params, 'resource_servers', [ { id: 'rs1', identifier: 'some-api', name: 'someAPI' }, { id: 'rs2', identifier: 'some-other-api', name: 'someOtherAPI' }, @@ -567,17 +567,17 @@ describe('#resourceServers handler', () => { const auth0 = { resourceServers: { - create: () => Promise.resolve({ data: [] }), - update: function (params, data) { + create: () => Promise.resolve([]), + update: function (id, data) { updateCalled = true; expect(data.client_id).to.be.equals(undefined); expect(data.name).to.equal('someAPI'); // identifier is also stripped as it's readonly - expect(params.id).to.equal('rs1'); // ID should be in params - return Promise.resolve({ data }); + expect(id).to.equal('rs1'); // ID should be in params + return Promise.resolve(data); }, - delete: () => Promise.resolve({ data: [] }), - getAll: (params) => mockPagedData(params, 'resourceServers', [existingResourceServer]), + delete: () => Promise.resolve([]), + list: (params) => mockPagedData(params, 'resourceServers', [existingResourceServer]), }, pool, }; @@ -608,7 +608,7 @@ describe('#resourceServers handler', () => { const auth0 = { resourceServers: { - getAll: (params) => mockPagedData(params, 'resourceServers', [resourceServerWithClient]), + list: (params) => mockPagedData(params, 'resourceServers', [resourceServerWithClient]), }, pool, }; diff --git a/test/tools/auth0/handlers/roles.tests.js b/test/tools/auth0/handlers/roles.tests.js index 450df6be9..3b6143aae 100644 --- a/test/tools/auth0/handlers/roles.tests.js +++ b/test/tools/auth0/handlers/roles.tests.js @@ -66,25 +66,24 @@ describe('#roles handler', () => { expect(data).to.be.an('object'); expect(data.name).to.equal('myRole'); expect(data.description).to.equal('myDescription'); - return Promise.resolve({ data }); + return Promise.resolve(data); }, - update: () => Promise.resolve({ data: [] }), - delete: () => Promise.resolve({ data: [] }), - getAll: (params) => mockPagedData(params, 'roles', []), + update: () => Promise.resolve([]), + delete: () => Promise.resolve([]), + list: (params) => mockPagedData(params, 'roles', []), permissions: { - getAll: () => + list: () => Promise.resolve([ { permission_name: 'Create:cal_entry', resource_server_identifier: 'organise' }, ]), - create: (params, data) => { - expect(params).to.be.an('object'); - expect(params.id).to.equal('myRoleId'); + add: (roleId, data) => { + expect(roleId).to.be.a('string'); + expect(roleId).to.equal('myRoleId'); expect(data).to.be.an('object'); expect(data.permissions).to.not.equal(null); expect(data.permissions).to.be.an('Array'); - return Promise.resolve({ data: data.permissions }); + return Promise.resolve(data.permissions); }, - update: Promise.resolve({ data: [] }), }, }, pool, @@ -113,7 +112,7 @@ describe('#roles handler', () => { const auth0 = { roles: { - getAll: (params) => + list: (params) => mockPagedData({ ...params, include_totals: true }, 'roles', [ { name: 'myRole', @@ -121,8 +120,10 @@ describe('#roles handler', () => { description: 'myDescription', }, ]), - getPermissions: (params) => - mockPagedData({ ...params, include_totals: true }, 'permissions', permissions), + permissions: { + list: (roleId, params) => + mockPagedData({ ...params, include_totals: true }, 'permissions', permissions), + }, }, pool, }; @@ -145,7 +146,7 @@ describe('#roles handler', () => { it('should return an empty array for 501 status code', async () => { const auth0 = { roles: { - getAll: () => { + list: () => { const error = new Error('Feature is not yet implemented'); error.statusCode = 501; throw error; @@ -162,7 +163,7 @@ describe('#roles handler', () => { it('should return an empty array for 404 status code', async () => { const auth0 = { roles: { - getAll: () => { + list: () => { const error = new Error('Not found'); error.statusCode = 404; throw error; @@ -179,7 +180,7 @@ describe('#roles handler', () => { it('should throw an error for all other failed requests', async () => { const auth0 = { roles: { - getAll: () => { + list: () => { const error = new Error('Bad request'); error.statusCode = 500; throw error; @@ -203,20 +204,20 @@ describe('#roles handler', () => { (() => expect(this).to.not.be.undefined)(); expect(data).to.be.an('object'); expect(data.length).to.equal(0); - return Promise.resolve({ data }); + return Promise.resolve(data); }, - update: function (params, data) { + update: function (id, data) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal('myRoleId'); + expect(id).to.be.a('string'); + expect(id).to.equal('myRoleId'); expect(data).to.be.an('object'); expect(data.name).to.equal('myRole'); expect(data.description).to.equal('myDescription'); - return Promise.resolve({ data }); + return Promise.resolve(data); }, - delete: () => Promise.resolve({ data: [] }), - getAll: (params) => + delete: () => Promise.resolve([]), + list: (params) => mockPagedData(params, 'roles', [ { name: 'myRole', @@ -224,22 +225,24 @@ describe('#roles handler', () => { description: 'myDescription', }, ]), - getPermissions: (params) => - mockPagedData(params, 'permissions', [ - { - permission_name: 'Create:cal_entry', - resource_server_identifier: 'organise', - }, - ]), - deletePermissions: function (params) { - expect(params).to.be.an('object'); - expect(params.id).to.equal('myRoleId'); - return Promise.resolve({ data: [] }); - }, - addPermissions: function (params) { - expect(params).to.be.an('object'); - expect(params.id).to.equal('myRoleId'); - return Promise.resolve({ data: [] }); + permissions: { + list: (roleId, params) => + mockPagedData(params, 'permissions', [ + { + permission_name: 'Create:cal_entry', + resource_server_identifier: 'organise', + }, + ]), + delete: function (roleId, _data) { + expect(roleId).to.be.a('string'); + expect(roleId).to.equal('myRoleId'); + return Promise.resolve([]); + }, + add: function (roleId, _data) { + expect(roleId).to.be.a('string'); + expect(roleId).to.equal('myRoleId'); + return Promise.resolve([]); + }, }, }, pool, @@ -270,14 +273,14 @@ describe('#roles handler', () => { it('should delete role', async () => { const auth0 = { roles: { - create: () => Promise.resolve({ data: [] }), - update: () => Promise.resolve({ data: [] }), - delete: (data) => { - expect(data).to.be.an('object'); - expect(data.id).to.equal('myRoleId'); - return Promise.resolve({ data }); + create: () => Promise.resolve([]), + update: () => Promise.resolve([]), + delete: (id) => { + expect(id).to.be.a('string'); + expect(id).to.equal('myRoleId'); + return Promise.resolve({}); }, - getAll: (params) => + list: (params) => mockPagedData(params, 'roles', [ { name: 'myRole', @@ -285,7 +288,9 @@ describe('#roles handler', () => { description: 'myDescription', }, ]), - getPermissions: (params) => mockPagedData(params, 'permissions', []), + permissions: { + list: (roleId, params) => mockPagedData(params, 'permissions', []), + }, }, pool, }; diff --git a/test/tools/auth0/handlers/scimHandler.tests.js b/test/tools/auth0/handlers/scimHandler.tests.js index 9d18f66e6..5e1cbb22f 100644 --- a/test/tools/auth0/handlers/scimHandler.tests.js +++ b/test/tools/auth0/handlers/scimHandler.tests.js @@ -26,10 +26,12 @@ describe('ScimHandler', () => { getAll: sinon.stub(), update: sinon.stub(), create: sinon.stub(), - getScimConfiguration: sinon.stub(), - createScimConfiguration: sinon.stub(), - deleteScimConfiguration: sinon.stub(), - updateScimConfiguration: sinon.stub(), + scimConfiguration: { + get: sinon.stub(), + create: sinon.stub(), + update: sinon.stub(), + delete: sinon.stub(), + }, }; handler = new ScimHandler(mockConfig, mockConnectionsManager, mockPoolClient); }); @@ -70,7 +72,7 @@ describe('ScimHandler', () => { user_id_attribute: response.user_id_attribute, }; - handler.getScimConfiguration = sinon.stub().resolves({ data: response }); + handler.getScimConfiguration = sinon.stub().resolves(response); await handler.createIdMap(connections); expect(handler.idMap.size).to.equal(1); expect(handler.idMap.get('con_kzpLY0Afi4I8lvwM')).to.have.property('strategy', 'samlp'); @@ -133,6 +135,7 @@ describe('ScimHandler', () => { it('should not modify connections if idMap is empty', async () => { const connections = [{ id: 'con_kzpLY0Afi4I8lvwM', strategy: 'samlp' }]; + mockConnectionsManager.scimConfiguration.get.resolves(null); await handler.applyScimConfiguration(connections); expect(connections[0]).to.not.have.property('scim_configuration'); }); @@ -319,7 +322,7 @@ describe('ScimHandler', () => { it('should create SCIM configuration when creating connection', async () => { const bodyParams = { scim_configuration: { mapping: [], user_id_attribute: 'id' } }; - mockConnectionsManager.create.resolves({ data: { id: 'con_kzpLY0Afi4I8lvwM' } }); + mockConnectionsManager.create.resolves({ id: 'con_kzpLY0Afi4I8lvwM' }); handler.createScimConfiguration = sinon.stub().resolves({ id: 'con_kzpLY0Afi4I8lvwM' }); await handler.createOverride(bodyParams); diff --git a/test/tools/auth0/handlers/selfServiceProfiles.tests.js b/test/tools/auth0/handlers/selfServiceProfiles.tests.js index 32bc4740e..36cda7814 100644 --- a/test/tools/auth0/handlers/selfServiceProfiles.tests.js +++ b/test/tools/auth0/handlers/selfServiceProfiles.tests.js @@ -151,11 +151,11 @@ describe('#selfServiceProfiles handler', () => { expect(data.user_attributes).to.be.an('array'); expect(data.allowed_strategies).to.be.an('array'); expect(data.branding).to.be.an('object'); - return Promise.resolve({ data }); + return Promise.resolve(data); }, - update: () => Promise.resolve({ data: [] }), - delete: () => Promise.resolve({ data: [] }), - getAll: (params) => mockPagedData(params, 'selfServiceProfiles', []), + update: () => Promise.resolve([]), + delete: () => Promise.resolve([]), + list: (params) => mockPagedData(params, 'selfServiceProfiles', []), }, pool, }; @@ -177,18 +177,20 @@ describe('#selfServiceProfiles handler', () => { (() => expect(this).to.not.be.undefined)(); expect(data).to.be.an('object'); expect(data.name).to.equal(sampleSsProfileWithCustomText.name); - return Promise.resolve({ data }); + return Promise.resolve(data); }, - update: () => Promise.resolve({ data: [] }), - delete: () => Promise.resolve({ data: [] }), - getAll: (params) => mockPagedData(params, 'selfServiceProfiles', []), - updateCustomText: (params, data) => { - expect(params).to.be.an('object'); - expect(data).to.be.an('object'); - expect(params.language).to.equal('en'); - expect(params.page).to.equal('get-started'); - expect(data).to.deep.equal(sampleCustomText); - return Promise.resolve({ data: sampleCustomText }); + update: () => Promise.resolve([]), + delete: () => Promise.resolve([]), + list: (params) => mockPagedData(params, 'selfServiceProfiles', []), + customText: { + set: (sspId, language, page, data) => { + expect(sspId).to.be.a('string'); + expect(language).to.equal('en'); + expect(page).to.equal('get-started'); + expect(data).to.be.an('object'); + expect(data).to.deep.equal(sampleCustomText); + return Promise.resolve(sampleCustomText); + }, }, }, pool, @@ -207,10 +209,14 @@ describe('#selfServiceProfiles handler', () => { it('should get selfServiceProfiles', async () => { const auth0 = { selfServiceProfiles: { - getAll: (params) => mockPagedData(params, 'selfServiceProfiles', [sampleSsProfileWithId]), - getCustomText: (params) => { - expect(params).to.be.an('object'); - return Promise.resolve({ data: [] }); + list: (params) => mockPagedData(params, 'selfServiceProfiles', [sampleSsProfileWithId]), + customText: { + list: (sspId, language, page) => { + expect(sspId).to.be.a('string'); + expect(language).to.equal('en'); + expect(page).to.equal('get-started'); + return Promise.resolve({}); + }, }, }, pool, @@ -232,12 +238,14 @@ describe('#selfServiceProfiles handler', () => { }; const auth0 = { selfServiceProfiles: { - getAll: (params) => mockPagedData(params, 'selfServiceProfiles', [sampleSsProfileWithId]), - getCustomText: (params) => { - expect(params).to.be.an('object'); - return Promise.resolve({ - data: sampleCustomText, - }); + list: (params) => mockPagedData(params, 'selfServiceProfiles', [sampleSsProfileWithId]), + customText: { + list: (sspId, language, page) => { + expect(sspId).to.be.a('string'); + expect(language).to.equal('en'); + expect(page).to.equal('get-started'); + return Promise.resolve(sampleCustomText); + }, }, }, pool, @@ -257,21 +265,25 @@ describe('#selfServiceProfiles handler', () => { const auth0 = { selfServiceProfiles: { - update: function (params, data) { + update: function (id, data) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal(sampleSsProfileWithId.id); + expect(id).to.be.a('string'); + expect(id).to.equal(sampleSsProfileWithId.id); expect(data).to.be.an('object'); expect(data.name).to.equal(sampleFormUpdated.name); - return Promise.resolve({ data }); + return Promise.resolve(data); }, - getAll: (params) => mockPagedData(params, 'selfServiceProfiles', [sampleSsProfileWithId]), - getCustomText: (params) => { - expect(params).to.be.an('object'); - return Promise.resolve({ - data: sampleCustomText, - }); + list: (params) => mockPagedData(params, 'selfServiceProfiles', [sampleSsProfileWithId]), + customText: { + list: (sspId, language, page) => { + expect(sspId).to.be.a('string'); + expect(language).to.equal('en'); + expect(page).to.equal('get-started'); + return Promise.resolve({ + data: sampleCustomText, + }); + }, }, }, pool, @@ -302,32 +314,34 @@ describe('#selfServiceProfiles handler', () => { const auth0 = { selfServiceProfiles: { - update: function (params, data) { + update: function (id, data) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal(sampleSsProfileWithId.id); + expect(id).to.be.a('string'); + expect(id).to.equal(sampleSsProfileWithId.id); expect(data).to.be.an('object'); expect(data.name).to.equal(sampleFormUpdated.name); - return Promise.resolve({ data }); - }, - getAll: (params) => mockPagedData(params, 'selfServiceProfiles', [sampleSsProfileWithId]), - getCustomText: (params) => { - expect(params).to.be.an('object'); - return Promise.resolve({ - data: {}, - }); + return Promise.resolve(data); }, - updateCustomText: (params, data) => { - expect(params).to.be.an('object'); - expect(data).to.be.an('object'); - expect(params.language).to.equal('en'); - expect(params.page).to.equal('get-started'); - expect(data).to.deep.equal({ - introduction: 'Welcome!

Updated introduction

', - }); - return Promise.resolve({ - data, - }); + list: (params) => mockPagedData(params, 'selfServiceProfiles', [sampleSsProfileWithId]), + customText: { + list: (sspId, language, page) => { + expect(sspId).to.be.a('string'); + expect(language).to.equal('en'); + expect(page).to.equal('get-started'); + return Promise.resolve({ + data: {}, + }); + }, + set: (sspId, language, page, data) => { + expect(sspId).to.be.a('string'); + expect(language).to.equal('en'); + expect(page).to.equal('get-started'); + expect(data).to.be.an('object'); + expect(data).to.deep.equal({ + introduction: 'Welcome!

Updated introduction

', + }); + return Promise.resolve(data); + }, }, }, pool, @@ -357,20 +371,24 @@ describe('#selfServiceProfiles handler', () => { (() => expect(this).to.not.be.undefined)(); expect(data).to.be.an('object'); expect(data.name).to.equal(sampleFormNew.name); - return Promise.resolve({ data }); + return Promise.resolve(data); }, - delete: function (params) { + delete: function (id) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal(sampleSsProfileWithId.id); - return Promise.resolve({ data: [] }); + expect(id).to.be.a('string'); + expect(id).to.equal(sampleSsProfileWithId.id); + return Promise.resolve([]); }, - getAll: (params) => mockPagedData(params, 'selfServiceProfiles', [sampleSsProfileWithId]), - getCustomText: (params) => { - expect(params).to.be.an('object'); - return Promise.resolve({ - data: {}, - }); + list: (params) => mockPagedData(params, 'selfServiceProfiles', [sampleSsProfileWithId]), + customText: { + list: (sspId, language, page) => { + expect(sspId).to.be.a('string'); + expect(language).to.equal('en'); + expect(page).to.equal('get-started'); + return Promise.resolve({ + data: {}, + }); + }, }, }, pool, @@ -386,17 +404,21 @@ describe('#selfServiceProfiles handler', () => { let removed = false; const auth0 = { selfServiceProfiles: { - delete: (params) => { + delete: (id) => { removed = true; - expect(params).to.be.an('object'); - return Promise.resolve({ data: [] }); + expect(id).to.be.a('string'); + return Promise.resolve([]); }, - getAll: (params) => mockPagedData(params, 'selfServiceProfiles', [sampleSsProfileWithId]), - getCustomText: (params) => { - expect(params).to.be.an('object'); - return Promise.resolve({ - data: {}, - }); + list: (params) => mockPagedData(params, 'selfServiceProfiles', [sampleSsProfileWithId]), + customText: { + list: (sspId, language, page) => { + expect(sspId).to.be.a('string'); + expect(language).to.equal('en'); + expect(page).to.equal('get-started'); + return Promise.resolve({ + data: {}, + }); + }, }, }, pool, @@ -413,16 +435,20 @@ describe('#selfServiceProfiles handler', () => { config.data.AUTH0_ALLOW_DELETE = false; const auth0 = { selfServiceProfiles: { - delete: (params) => { - expect(params).to.be.an('undefined'); - return Promise.resolve({ data: [] }); + delete: (id) => { + expect(id).to.be.an('undefined'); + return Promise.resolve([]); }, - getAll: (params) => mockPagedData(params, 'selfServiceProfiles', [sampleSsProfileWithId]), - getCustomText: (params) => { - expect(params).to.be.an('object'); - return Promise.resolve({ - data: {}, - }); + list: (params) => mockPagedData(params, 'selfServiceProfiles', [sampleSsProfileWithId]), + customText: { + list: (sspId, language, page) => { + expect(sspId).to.be.a('string'); + expect(language).to.equal('en'); + expect(page).to.equal('get-started'); + return Promise.resolve({ + data: {}, + }); + }, }, }, pool, @@ -441,19 +467,16 @@ describe('#selfServiceProfiles handler', () => { user_attribute_profile_id: sampleUAP.name, user_attributes: undefined, }; + const auth0 = { selfServiceProfiles: { delete: (params) => { expect(params).to.be.an('undefined'); return Promise.resolve({ data: [] }); }, - getAll: (params) => - mockPagedData(params, 'selfServiceProfiles', [sspWithUserAttributesId]), - getCustomText: (params) => { - expect(params).to.be.an('object'); - return Promise.resolve({ - data: {}, - }); + list: (params) => mockPagedData(params, 'selfServiceProfiles', [sspWithUserAttributesId]), + customText: { + list: () => Promise.resolve({}), }, update: async (params, data) => { expect(data.user_attribute_profile_id).to.equal(sampleUAP.id); @@ -461,7 +484,7 @@ describe('#selfServiceProfiles handler', () => { }, }, userAttributeProfiles: { - getAll: (params) => mockPagedData(params, 'userAttributeProfiles', [sampleUAP]), + list: (params) => mockPagedData(params, 'userAttributeProfiles', [sampleUAP]), }, pool, }; @@ -484,16 +507,13 @@ describe('#selfServiceProfiles handler', () => { expect(params).to.be.an('undefined'); return Promise.resolve({ data: [] }); }, - getAll: (params) => mockPagedData(params, 'selfServiceProfiles', [sspWithBoth]), - getCustomText: (params) => { - expect(params).to.be.an('object'); - return Promise.resolve({ - data: {}, - }); + list: (params) => mockPagedData(params, 'selfServiceProfiles', [sspWithBoth]), + customText: { + list: () => Promise.resolve({}), }, }, userAttributeProfiles: { - getAll: (params) => mockPagedData(params, 'userAttributeProfiles', [sampleUAP]), + list: (params) => mockPagedData(params, 'userAttributeProfiles', [sampleUAP]), }, pool, }; @@ -522,10 +542,10 @@ describe('#selfServiceProfiles handler', () => { }, update: () => Promise.resolve({ data: [] }), delete: () => Promise.resolve({ data: [] }), - getAll: (params) => mockPagedData(params, 'selfServiceProfiles', []), + list: (params) => mockPagedData(params, 'selfServiceProfiles', []), }, userAttributeProfiles: { - getAll: () => { + list: () => { expect.fail('userAttributeProfiles.getAll should not be called'); }, }, diff --git a/test/tools/auth0/handlers/tenant.tests.ts b/test/tools/auth0/handlers/tenant.tests.ts index 873facb66..defec9664 100644 --- a/test/tools/auth0/handlers/tenant.tests.ts +++ b/test/tools/auth0/handlers/tenant.tests.ts @@ -31,8 +31,8 @@ describe('#tenant handler', () => { it('should get tenant', async () => { const auth0 = { tenants: { - getSettings: () => ({ - data: { + settings: { + get: () => ({ friendly_name: 'Test', default_directory: 'users', flags: { @@ -40,8 +40,8 @@ describe('#tenant handler', () => { 'unallowed-flag-1': false, 'unallowed-flag-2': true, }, - }, - }), + }), + }, }, }; @@ -59,19 +59,19 @@ describe('#tenant handler', () => { it('should update tenant settings', async () => { const auth0 = { tenants: { - getSettings: () => ({ - data: { + settings: { + get: () => ({ friendly_name: 'Test', default_directory: 'users', skip_non_verifiable_callback_uri_confirmation_prompt: true, + }), + update: (data) => { + expect(data).to.be.an('object'); + expect(data.sandbox_version).to.equal('4'); + expect(data.skip_non_verifiable_callback_uri_confirmation_prompt).to.equal(null); + expect(data.flags).to.equal(undefined); + return Promise.resolve(data); }, - }), - updateSettings: (data) => { - expect(data).to.be.an('object'); - expect(data.sandbox_version).to.equal('4'); - expect(data.skip_non_verifiable_callback_uri_confirmation_prompt).to.equal(null); - expect(data.flags).to.equal(undefined); - return Promise.resolve(data); }, }, }; @@ -112,27 +112,29 @@ describe('#tenant handler', () => { let wasUpdateCalled = false; const auth0 = { tenants: { - getSettings: () => ({ data: {} }), - updateSettings: function (data) { - wasUpdateCalled = true; - expect(data).to.be.an('object'); - expect(data.default_token_quota).to.deep.equal({ - clients: { - client_credentials: { - enforce: true, - per_day: 2000, - per_hour: 200, + settings: { + get: () => ({}), + update: function (data) { + wasUpdateCalled = true; + expect(data).to.be.an('object'); + expect(data.default_token_quota).to.deep.equal({ + clients: { + client_credentials: { + enforce: true, + per_day: 2000, + per_hour: 200, + }, }, - }, - organizations: { - client_credentials: { - enforce: false, - per_day: 1000, - per_hour: 100, + organizations: { + client_credentials: { + enforce: false, + per_day: 1000, + per_hour: 100, + }, }, - }, - }); - return Promise.resolve(data); + }); + return Promise.resolve(data); + }, }, }, }; @@ -155,13 +157,15 @@ describe('#tenant handler', () => { const auth0 = { tenants: { - updateSettings: (data) => { - expect(data).to.be.an('object'); - expect(data.flags).to.deep.equal({ - require_pushed_authorization_requests: true, - mfa_show_factor_list_on_enrollment: false, - }); - return Promise.resolve(data); + settings: { + update: (data) => { + expect(data).to.be.an('object'); + expect(data.flags).to.deep.equal({ + require_pushed_authorization_requests: true, + mfa_show_factor_list_on_enrollment: false, + }); + return Promise.resolve(data); + }, }, }, }; @@ -180,10 +184,12 @@ describe('#tenant handler', () => { const auth0 = { tenants: { - updateSettings: (data) => { - expect(data).to.be.an('object'); - expect(data.flags).to.be.undefined; - return Promise.resolve({ data }); + settings: { + update: (data) => { + expect(data).to.be.an('object'); + expect(data.flags).to.be.undefined; + return Promise.resolve(data); + }, }, }, }; diff --git a/test/tools/auth0/handlers/themes.tests.js b/test/tools/auth0/handlers/themes.tests.js index 08e817de1..d9a0e0b8e 100644 --- a/test/tools/auth0/handlers/themes.tests.js +++ b/test/tools/auth0/handlers/themes.tests.js @@ -130,7 +130,9 @@ describe('#themes handler', () => { const auth0 = { branding: { - getDefaultTheme: stub().returns(Promise.resolve({ data: theme })), + themes: { + getDefault: stub().returns(Promise.resolve(theme)), + }, }, }; @@ -138,14 +140,16 @@ describe('#themes handler', () => { const data = await handler.getType(); expect(data).to.deep.equal([theme]); - expect(auth0.branding.getDefaultTheme.called).to.equal(true); - expect(auth0.branding.getDefaultTheme.callCount).to.equal(1); + expect(auth0.branding.themes.getDefault.called).to.equal(true); + expect(auth0.branding.themes.getDefault.callCount).to.equal(1); }); it('should return empty array if there is no theme', async () => { const auth0 = { branding: { - getDefaultTheme: stub().returns(Promise.reject(errorWithStatusCode(404))), + themes: { + getDefault: stub().returns(Promise.reject(errorWithStatusCode(404))), + }, }, }; @@ -153,21 +157,23 @@ describe('#themes handler', () => { const data = await handler.getType(); expect(data).to.deep.equal([]); - expect(auth0.branding.getDefaultTheme.called).to.equal(true); - expect(auth0.branding.getDefaultTheme.callCount).to.equal(1); + expect(auth0.branding.themes.getDefault.called).to.equal(true); + expect(auth0.branding.themes.getDefault.callCount).to.equal(1); }); it('should return empty array when no-code is not enabled for the tenant', async () => { const auth0 = { branding: { - getDefaultTheme: stub().returns( - Promise.reject( - errorWithStatusCode( - 400, - 'Your account does not have universal login customizations enabled' + themes: { + getDefault: stub().returns( + Promise.reject( + errorWithStatusCode( + 400, + 'Your account does not have universal login customizations enabled' + ) ) - ) - ), + ), + }, }, }; @@ -175,23 +181,25 @@ describe('#themes handler', () => { const data = await handler.getType(); expect(data).to.deep.equal(null); - expect(auth0.branding.getDefaultTheme.called).to.equal(true); - expect(auth0.branding.getDefaultTheme.callCount).to.equal(1); + expect(auth0.branding.themes.getDefault.called).to.equal(true); + expect(auth0.branding.themes.getDefault.callCount).to.equal(1); }); it('should fail for unexpected api errors', async () => { const auth0 = { branding: { - getDefaultTheme: stub().returns( - Promise.reject(errorWithStatusCode(500, 'Unexpected error')) - ), + themes: { + getDefault: stub().returns( + Promise.reject(errorWithStatusCode(500, 'Unexpected error')) + ), + }, }, }; const handler = new ThemesHandler({ client: auth0 }); await expect(handler.getType()).to.be.rejectedWith('Unexpected error'); - expect(auth0.branding.getDefaultTheme.called).to.equal(true); - expect(auth0.branding.getDefaultTheme.callCount).to.equal(1); + expect(auth0.branding.themes.getDefault.called).to.equal(true); + expect(auth0.branding.themes.getDefault.callCount).to.equal(1); }); }); @@ -201,14 +209,12 @@ describe('#themes handler', () => { const auth0 = { branding: { - getDefaultTheme: stub().returns(Promise.reject(errorWithStatusCode(404))), - createTheme: stub().returns(Promise.resolve(theme)), - updateTheme: stub().returns( - Promise.reject(new Error('updateTheme should not have been called')) - ), - deleteTheme: stub().returns( - Promise.reject(new Error('deleteTheme should not have been called')) - ), + themes: { + getDefault: stub().returns(Promise.reject(errorWithStatusCode(404))), + create: stub().returns(Promise.resolve(theme)), + update: stub().returns(Promise.reject(new Error('update should not have been called'))), + delete: stub().returns(Promise.reject(new Error('delete should not have been called'))), + }, }, }; @@ -217,13 +223,13 @@ describe('#themes handler', () => { await handler.processChanges(assets); - expect(auth0.branding.getDefaultTheme.called).to.equal(true); - expect(auth0.branding.getDefaultTheme.callCount).to.equal(1); - expect(auth0.branding.createTheme.called).to.equal(true); - expect(auth0.branding.createTheme.callCount).to.equal(1); - expect(auth0.branding.createTheme.calledWith(theme)).to.equal(true); - expect(auth0.branding.updateTheme.called).to.equal(false); - expect(auth0.branding.deleteTheme.called).to.equal(false); + expect(auth0.branding.themes.getDefault.called).to.equal(true); + expect(auth0.branding.themes.getDefault.callCount).to.equal(1); + expect(auth0.branding.themes.create.called).to.equal(true); + expect(auth0.branding.themes.create.callCount).to.equal(1); + expect(auth0.branding.themes.create.calledWith(theme)).to.equal(true); + expect(auth0.branding.themes.update.called).to.equal(false); + expect(auth0.branding.themes.delete.called).to.equal(false); }); it('should create the theme when default exists', async () => { @@ -231,14 +237,12 @@ describe('#themes handler', () => { const auth0 = { branding: { - getDefaultTheme: stub().returns({ data: theme }), - createTheme: stub().returns( - Promise.reject(new Error('updateTheme should not have been called')) - ), - updateTheme: stub().returns(Promise.resolve(theme)), - deleteTheme: stub().returns( - Promise.reject(new Error('deleteTheme should not have been called')) - ), + themes: { + getDefault: stub().returns(theme), + create: stub().returns(Promise.reject(new Error('create should not have been called'))), + update: stub().returns(Promise.resolve(theme)), + delete: stub().returns(Promise.reject(new Error('delete should not have been called'))), + }, }, }; @@ -247,15 +251,15 @@ describe('#themes handler', () => { await handler.processChanges(assets); - expect(auth0.branding.getDefaultTheme.called).to.equal(true); - expect(auth0.branding.getDefaultTheme.callCount).to.equal(1); - expect(auth0.branding.updateTheme.called).to.equal(true); - expect(auth0.branding.updateTheme.callCount).to.equal(1); + expect(auth0.branding.themes.getDefault.called).to.equal(true); + expect(auth0.branding.themes.getDefault.callCount).to.equal(1); + expect(auth0.branding.themes.update.called).to.equal(true); + expect(auth0.branding.themes.update.callCount).to.equal(1); expect( - auth0.branding.updateTheme.calledWith({ themeId: 'myThemeId' }, omit(theme, 'themeId')) + auth0.branding.themes.update.calledWith('myThemeId', omit(theme, 'themeId')) ).to.deep.equal(true); - expect(auth0.branding.createTheme.called).to.equal(false); - expect(auth0.branding.deleteTheme.called).to.equal(false); + expect(auth0.branding.themes.create.called).to.equal(false); + expect(auth0.branding.themes.delete.called).to.equal(false); }); }); @@ -267,14 +271,12 @@ describe('#themes handler', () => { const auth0 = { branding: { - getDefaultTheme: stub().returns(Promise.resolve({ data: theme })), - createTheme: stub().returns( - Promise.reject(new Error('createTheme should not have been called')) - ), - updateTheme: stub().returns( - Promise.reject(new Error('updateTheme should not have been called')) - ), - deleteTheme: stub().returns(Promise.resolve({ data: undefined })), + themes: { + getDefault: stub().returns(Promise.resolve(theme)), + create: stub().returns(Promise.reject(new Error('create should not have been called'))), + update: stub().returns(Promise.reject(new Error('update should not have been called'))), + delete: stub().returns(Promise.resolve(undefined)), + }, }, }; @@ -283,12 +285,12 @@ describe('#themes handler', () => { await handler.processChanges(assets); - expect(auth0.branding.getDefaultTheme.called).to.equal(true); - expect(auth0.branding.getDefaultTheme.callCount).to.equal(1); - expect(auth0.branding.deleteTheme.callCount).to.equal(1); - expect(auth0.branding.deleteTheme.calledWith({ themeId: 'delete-me' })).to.equal(true); - expect(auth0.branding.updateTheme.called).to.equal(false); - expect(auth0.branding.createTheme.called).to.equal(false); + expect(auth0.branding.themes.getDefault.called).to.equal(true); + expect(auth0.branding.themes.getDefault.callCount).to.equal(1); + expect(auth0.branding.themes.delete.callCount).to.equal(1); + expect(auth0.branding.themes.delete.calledWith('delete-me')).to.equal(true); + expect(auth0.branding.themes.update.called).to.equal(false); + expect(auth0.branding.themes.create.called).to.equal(false); }); it('should not delete the theme when AUTH0_ALLOW_DELETE: false', async () => { @@ -298,18 +300,14 @@ describe('#themes handler', () => { const auth0 = { branding: { - getDefaultTheme: stub().returns( - Promise.reject(new Error('getDefaultTheme should not have been called')) - ), - createTheme: stub().returns( - Promise.reject(new Error('createTheme should not have been called')) - ), - updateTheme: stub().returns( - Promise.reject(new Error('updateTheme should not have been called')) - ), - deleteTheme: stub().returns( - Promise.reject(new Error('deleteTheme should not have been called')) - ), + themes: { + getDefault: stub().returns( + Promise.reject(new Error('getDefault should not have been called')) + ), + create: stub().returns(Promise.reject(new Error('create should not have been called'))), + update: stub().returns(Promise.reject(new Error('update should not have been called'))), + delete: stub().returns(Promise.reject(new Error('delete should not have been called'))), + }, }, }; @@ -318,10 +316,10 @@ describe('#themes handler', () => { await handler.processChanges(assets); - expect(auth0.branding.getDefaultTheme.called).to.equal(false); - expect(auth0.branding.deleteTheme.called).to.equal(false); - expect(auth0.branding.updateTheme.called).to.equal(false); - expect(auth0.branding.createTheme.called).to.equal(false); + expect(auth0.branding.themes.getDefault.called).to.equal(false); + expect(auth0.branding.themes.delete.called).to.equal(false); + expect(auth0.branding.themes.update.called).to.equal(false); + expect(auth0.branding.themes.create.called).to.equal(false); }); }); diff --git a/test/tools/auth0/handlers/triggers.tests.js b/test/tools/auth0/handlers/triggers.tests.js index 794f38dea..37aaa01f1 100644 --- a/test/tools/auth0/handlers/triggers.tests.js +++ b/test/tools/auth0/handlers/triggers.tests.js @@ -19,7 +19,11 @@ describe('#triggers handler', () => { it('should pass validation', async () => { const auth0 = { actions: { - getTriggerBindings: () => [], + triggers: { + bindings: { + list: () => Promise.resolve({ data: [] }), + }, + }, }, }; @@ -53,8 +57,14 @@ describe('#triggers handler', () => { const auth0 = { actions: { - getAllTriggers: () => Promise.resolve(triggersBindings), - updateTriggerBindings: () => Promise.resolve([]), + triggers: { + list: () => + Promise.resolve({ triggers: Object.keys(triggersBindings).map((id) => ({ id })) }), + bindings: { + list: (triggerId) => Promise.resolve({ data: triggersBindings[triggerId] || [] }), + updateMany: () => Promise.resolve([]), + }, + }, }, pool, getAllCalled: false, @@ -85,21 +95,30 @@ describe('#triggers handler', () => { const auth0 = { actions: { - getAllTriggers: () => Promise.resolve(existingTriggerBindings), - // eslint-disable-next-line camelcase - updateTriggerBindings: ({ triggerId }, { bindings }) => { - expect([ - 'post-login', - 'credentials-exchange', - 'pre-user-registration', - 'post-user-registration', - 'post-change-password', - 'send-phone-message', - 'password-reset-post-challenge', - ]).to.include(triggerId); // eslint-disable-line camelcase - expect(bindings).to.be.an('array').that.is.empty; // eslint-disable-line no-unused-expressions - timesUpdateTriggerBindingsCalled += 1; - return Promise.resolve([]); + triggers: { + list: () => + Promise.resolve({ + triggers: Object.keys(existingTriggerBindings).map((id) => ({ id })), + }), + bindings: { + list: (triggerId) => + Promise.resolve({ data: existingTriggerBindings[triggerId] || [] }), + // eslint-disable-next-line camelcase + updateMany: (triggerId, { bindings }) => { + expect([ + 'post-login', + 'credentials-exchange', + 'pre-user-registration', + 'post-user-registration', + 'post-change-password', + 'send-phone-message', + 'password-reset-post-challenge', + ]).to.include(triggerId); // eslint-disable-line camelcase + expect(bindings).to.be.an('array').that.is.empty; // eslint-disable-line no-unused-expressions + timesUpdateTriggerBindingsCalled += 1; + return Promise.resolve([]); + }, + }, }, }, pool, @@ -165,13 +184,22 @@ describe('#triggers handler', () => { const auth0 = { actions: { - getAllTriggers: () => Promise.resolve(existingTriggerBindings), - // eslint-disable-next-line camelcase - updateTriggerBindings: ({ triggerId }, { bindings }) => { - expect(triggerId).to.equal('post-login'); - expect(bindings).to.deep.equal(updatePayload); - timesUpdateTriggerBindingsCalled += 1; - return Promise.resolve(updatePayload); + triggers: { + list: () => + Promise.resolve({ + triggers: Object.keys(existingTriggerBindings).map((id) => ({ id })), + }), + bindings: { + list: (triggerId) => + Promise.resolve({ data: existingTriggerBindings[triggerId] || [] }), + // eslint-disable-next-line camelcase + updateMany: (triggerId, { bindings }) => { + expect(triggerId).to.equal('post-login'); + expect(bindings).to.deep.equal(updatePayload); + timesUpdateTriggerBindingsCalled += 1; + return Promise.resolve(updatePayload); + }, + }, }, }, pool, @@ -208,41 +236,45 @@ describe('#triggers handler', () => { const auth0 = { actions: { - getTriggerBindings: (params) => { - let res = {}; - switch (params.trigger_id) { - case 'post-login': - res = { - bindings: [ - { - action: { name: 'action-one' }, - display_name: 'display-name', - }, - ], - }; - break; - case 'credentials-exchange': - res = { bindings: [] }; - break; - case 'pre-user-registration': - res = { bindings: [] }; - break; - case 'post-user-registration': - res = { bindings: [] }; - break; - case 'post-change-password': - res = { bindings: [] }; - break; - case 'send-phone-message': - res = { bindings: [] }; - break; - case 'password-reset-post-challenge': - res = { bindings: [] }; - break; - default: - break; - } - return Promise.resolve(res); + triggers: { + list: () => + Promise.resolve({ + triggers: [ + { id: 'post-login' }, + { id: 'credentials-exchange' }, + { id: 'pre-user-registration' }, + { id: 'post-user-registration' }, + { id: 'post-change-password' }, + { id: 'send-phone-message' }, + { id: 'password-reset-post-challenge' }, + ], + }), + bindings: { + list: (triggerId) => { + let res = []; + switch (triggerId) { + case 'post-login': + res = [ + { + action: { name: 'action-one' }, + display_name: 'display-name', + }, + ]; + break; + case 'credentials-exchange': + case 'pre-user-registration': + case 'post-user-registration': + case 'post-change-password': + case 'send-phone-message': + case 'password-reset-post-challenge': + res = []; + break; + default: + break; + } + return Promise.resolve({ data: res }); + }, + }, }, }, }; @@ -255,10 +287,12 @@ describe('#triggers handler', () => { it('should return an empty array for 404 status code', async () => { const auth0 = { actions: { - getTriggerBindings: () => { - const error = new Error('Not found'); - error.statusCode = 404; - throw error; + triggers: { + list: () => { + const error = new Error('Not found'); + error.statusCode = 404; + throw error; + }, }, }, pool, @@ -272,17 +306,19 @@ describe('#triggers handler', () => { it('should return an empty array when the feature flag is disabled', async () => { const auth0 = { actions: { - getAllTriggers: () => { - const error = new Error('Not enabled'); - error.statusCode = 403; - error.originalError = { - response: { - body: { - errorCode: 'feature_not_enabled', + triggers: { + list: () => { + const error = new Error('Not enabled'); + error.statusCode = 403; + error.originalError = { + response: { + body: { + errorCode: 'feature_not_enabled', + }, }, - }, - }; - throw error; + }; + throw error; + }, }, }, pool, @@ -296,10 +332,12 @@ describe('#triggers handler', () => { it('should throw an error for all other failed requests', async () => { const auth0 = { actions: { - getTriggerBindings: () => { - const error = new Error('Bad request'); - error.statusCode = 500; - throw error; + triggers: { + list: () => { + const error = new Error('Bad request'); + error.statusCode = 500; + throw error; + }, }, }, pool, diff --git a/test/tools/auth0/handlers/userAttributeProfiles.tests.js b/test/tools/auth0/handlers/userAttributeProfiles.tests.js index 8294cca7b..8919959af 100644 --- a/test/tools/auth0/handlers/userAttributeProfiles.tests.js +++ b/test/tools/auth0/handlers/userAttributeProfiles.tests.js @@ -118,7 +118,7 @@ describe('#userAttributeProfiles handler', () => { }, update: () => Promise.resolve({ data: [] }), delete: () => Promise.resolve({ data: [] }), - getAll: (params) => mockPagedData(params, 'userAttributeProfiles', []), + list: (params) => mockPagedData(params, 'userAttributeProfiles', []), }, pool, }; @@ -136,7 +136,7 @@ describe('#userAttributeProfiles handler', () => { it('should get userAttributeProfiles', async () => { const auth0 = { userAttributeProfiles: { - getAll: (params) => mockPagedData(params, 'userAttributeProfiles', [sampleUAPWithId]), + list: (params) => mockPagedData(params, 'userAttributeProfiles', [sampleUAPWithId]), }, pool, }; @@ -149,7 +149,7 @@ describe('#userAttributeProfiles handler', () => { it('should get userAttributeProfiles with correct parameters', async () => { const auth0 = { userAttributeProfiles: { - getAll: (params) => { + list: (params) => { expect(params).to.be.an('object'); expect(params.include_totals).to.equal(true); expect(params.is_global).to.equal(false); @@ -173,14 +173,14 @@ describe('#userAttributeProfiles handler', () => { userAttributeProfiles: { update: function (params, data) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal(sampleUAPWithId.id); + expect(params).to.be.a('string'); + expect(params).to.equal(sampleUAPWithId.id); expect(data).to.be.an('object'); expect(data.name).to.equal(sampleUAPUpdated.name); return Promise.resolve({ data }); }, - getAll: (params) => mockPagedData(params, 'userAttributeProfiles', [sampleUAPWithId]), + list: (params) => mockPagedData(params, 'userAttributeProfiles', [sampleUAPWithId]), }, pool, }; @@ -213,11 +213,11 @@ describe('#userAttributeProfiles handler', () => { }, delete: function (params) { (() => expect(this).to.not.be.undefined)(); - expect(params).to.be.an('object'); - expect(params.id).to.equal(sampleUAPWithId.id); + expect(params).to.be.a('string'); + expect(params).to.equal(sampleUAPWithId.id); return Promise.resolve({ data: [] }); }, - getAll: (params) => mockPagedData(params, 'userAttributeProfiles', [sampleUAPWithId]), + list: (params) => mockPagedData(params, 'userAttributeProfiles', [sampleUAPWithId]), }, pool, }; @@ -234,10 +234,10 @@ describe('#userAttributeProfiles handler', () => { userAttributeProfiles: { delete: (params) => { removed = true; - expect(params).to.be.an('object'); + expect(params).to.be.a('string'); return Promise.resolve({ data: [] }); }, - getAll: (params) => mockPagedData(params, 'userAttributeProfiles', [sampleUAPWithId]), + list: (params) => mockPagedData(params, 'userAttributeProfiles', [sampleUAPWithId]), }, pool, }; @@ -257,7 +257,7 @@ describe('#userAttributeProfiles handler', () => { expect(params).to.be.an('undefined'); return Promise.resolve({ data: [] }); }, - getAll: (params) => mockPagedData(params, 'userAttributeProfiles', [sampleUAPWithId]), + list: (params) => mockPagedData(params, 'userAttributeProfiles', [sampleUAPWithId]), }, pool, }; @@ -271,7 +271,7 @@ describe('#userAttributeProfiles handler', () => { it('should handle 403 error when not enabled on tenant', async () => { const auth0 = { userAttributeProfiles: { - getAll: () => Promise.reject(Object.assign(new Error('Forbidden'), { statusCode: 403 })), + list: () => Promise.reject(Object.assign(new Error('Forbidden'), { statusCode: 403 })), }, }; diff --git a/test/utils.js b/test/utils.js index bae1e56f7..7e4b0198c 100644 --- a/test/utils.js +++ b/test/utils.js @@ -14,55 +14,86 @@ export const localDir = 'local'; export const testDataDir = path.resolve(localDir, 'testData'); export function mockPagedData(params, key, data) { + // SDK v5 Page always returns data as an array, with total as a separate property + const pagedResponse = { + data, + hasNextPage: () => false, + getNextPage: () => + Promise.resolve({ + data: [], + hasNextPage: () => false, + getNextPage: () => Promise.resolve({ data: [], hasNextPage: () => false }), + }), + }; + if (params && params.include_totals) { - return { data: { [key]: data, total: data.length || 0 } }; - } - // For checkpoint pagination (params.take is set), return data with entity key - if (params && params.take) { - return { data: { [key]: data, total: data.length || 0 } }; + pagedResponse.total = data.length || 0; + return pagedResponse; } - return { data }; + + return pagedResponse; } export function mockMgmtClient() { // Fake Mgmt Client. Bit hacky but good enough for now. return { - rules: { getAll: (params) => mockPagedData(params, 'rules', []) }, - hooks: { getAll: (params) => mockPagedData(params, 'hooks', []) }, - actions: { getAll: () => mockPagedData({ include_totals: true }, 'actions', []) }, - databases: { getAll: (params) => mockPagedData(params, 'databases', []) }, - connections: { getAll: (params) => mockPagedData(params, 'connections', []) }, - resourceServers: { getAll: (params) => mockPagedData(params, 'resource_servers', []) }, - rulesConfigs: { getAll: (params) => mockPagedData(params, 'rules_configs', []) }, + rules: { list: (params) => mockPagedData(params, 'rules', []) }, + hooks: { list: (params) => mockPagedData(params, 'hooks', []) }, + actions: { + list: () => mockPagedData({ include_totals: true }, 'actions', []), + triggers: { + list: () => {}, + bindings: { + list: (_triggerId) => Promise.resolve({ data: [] }), + }, + }, + }, + databases: { list: (params) => mockPagedData(params, 'databases', []) }, + connections: { list: (params) => mockPagedData(params, 'connections', []) }, + resourceServers: { list: (params) => mockPagedData(params, 'resource_servers', []) }, + rulesConfigs: { list: (params) => mockPagedData(params, 'rules_configs', []) }, emails: { - get: () => ({ - data: { + provider: { + get: () => ({ name: 'smtp', enabled: true, - }, - }), + }), + }, }, - clientGrants: { getAll: (params) => mockPagedData(params, 'client_grants', []) }, + clientGrants: { list: (params) => mockPagedData(params, 'client_grants', []) }, guardian: { - getFactors: () => ({ data: [] }), - getSmsFactorProviderTwilio: () => ({ data: [] }), - getPushNotificationProviderSNS: () => ({ data: [] }), - getSmsFactorTemplates: () => ({ data: [] }), - getPhoneFactorMessageTypes: () => ({ data: { message_types: ['sms'] } }), - getPhoneFactorSelectedProvider: () => ({ data: { provider: 'twilio' } }), - getPolicies: () => ({ data: [] }), + factors: { + list: () => [], + sms: { + getTwilioProvider: () => [], + getTemplates: () => [], + getSelectedProvider: () => ({ provider: 'twilio' }), + }, + phone: { + getMessageTypes: () => ({ message_types: ['sms'] }), + getSelectedProvider: () => ({ provider: 'twilio' }), + }, + pushNotification: { + getSnsProvider: () => [], + }, + }, + policies: { + list: () => [], + }, }, emailTemplates: { - get: (template) => ({ - data: { - template: template.templateName, + get: (template) => { + const templateName = typeof template === 'string' ? template : template.templateName; + + return { + template: templateName, enabled: true, body: 'fake template', - }, - }), + }; + }, }, clients: { - getAll: (params) => { + list: (params) => { const client = { name: 'Global Client', client_id: 'FMfcgxvzLDvPsgpRFKkLVrnKqGgkHhQV', @@ -75,7 +106,7 @@ export function mockMgmtClient() { }, }, roles: { - getAll: (params) => + list: (params) => mockPagedData(params, 'roles', [ { name: 'App Admin', @@ -83,82 +114,102 @@ export function mockMgmtClient() { description: 'Admin of app', }, ]), - getPermissions: (params) => - mockPagedData(params, 'permissions', [ - { - permission_name: 'create:data', - resource_server_identifier: 'urn:ref', - }, - ]), + permissions: { + list: (params) => + mockPagedData(params, 'permissions', [ + { + permission_name: 'create:data', + resource_server_identifier: 'urn:ref', + }, + ]), + }, }, tenants: { - getSettings: () => - new Promise((resolve) => { - resolve({ - data: { + settings: { + get: () => + new Promise((resolve) => { + resolve({ friendly_name: 'Test', default_directory: 'users', enabled_locales: ['en'], - }, - }); - }), - getCustomTextByLanguage: () => Promise.resolve({ data: {} }), + }); + }), + }, + getCustomTextByLanguage: () => Promise.resolve({}), }, attackProtection: { - getBreachedPasswordDetectionConfig: () => ({ data: {} }), - getBruteForceConfig: () => ({ data: {} }), - getSuspiciousIpThrottlingConfig: () => ({ data: {} }), + breachedPasswordDetection: { + get: () => ({}), + }, + bruteForceProtection: { + get: () => ({}), + }, + suspiciousIpThrottling: { + get: () => ({}), + }, }, branding: { - getSettings: () => ({ data: {} }), - getDefaultTheme: () => { - const err = new Error('Not found'); - err.statusCode = 404; - return Promise.reject(err); - }, - getAllPhoneProviders: () => ({ - data: [ - { - disabled: false, - name: 'twilio', - configuration: { - sid: 'twilio_sid', - default_from: '++15673812247', - delivery_methods: ['text', 'voice'], - }, - }, - ], - }), + get: () => ({}), + themes: { + getDefault: () => { + const err = new Error('Not found'); + err.statusCode = 404; + return Promise.reject(err); + }, + }, + phone: { + providers: { + list: () => Promise.resolve({ providers: [] }), + get: (_id) => Promise.resolve({}), + create: (data) => Promise.resolve(data), + update: (_id, data) => Promise.resolve(data), + delete: (_id) => Promise.resolve(), + }, + }, }, - logStreams: { getAll: (params) => mockPagedData(params, 'log_streams', []) }, + logStreams: { list: () => Promise.resolve([]) }, prompts: { - _getRestClient: (endpoint) => ({ - get: (...options) => Promise.resolve({ endpoint, method: 'get', options }), - }), - getCustomTextByLanguage: () => - new Promise((res) => { - res({ data: {} }); - }), - get: () => ({ data: {} }), - getAllRenderingSettings: () => Promise.resolve({ data: [] }), + customText: { + get: (_promptType, _language, _options) => Promise.resolve({}), + }, + partials: { + get: (_prompt, _options) => Promise.resolve({}), + }, + rendering: { + list: () => Promise.resolve({ data: [] }), + }, + getSettings: () => Promise.resolve(Object.create(null)), + updateSettings: () => Promise.resolve({}), }, customDomains: { - getAll: (params) => mockPagedData(params, 'customDomains', []), - _getRestClient: () => ({}), + list: (params) => mockPagedData(params, 'customDomains', []), }, - forms: { getAll: (params) => mockPagedData(params, 'forms', []) }, + forms: { list: (params) => mockPagedData(params, 'forms', []) }, flows: { - getAll: (params) => mockPagedData(params, 'flows', []), - getAllConnections: (params) => mockPagedData(params, 'connections', []), + list: (params) => mockPagedData(params, 'flows', []), + vault: { + connections: { + list: (params) => mockPagedData(params, 'connections', []), + }, + }, }, selfServiceProfiles: { - getAll: (params) => mockPagedData(params, 'selfServiceProfiles', []), + list: (params) => mockPagedData(params, 'selfServiceProfiles', []), }, networkAcls: { - getAll: (params) => mockPagedData(params, 'network_acls', []), + list: (params) => mockPagedData(params, 'network_acls', []), + }, + organizations: { + list: (params) => mockPagedData(params, 'organizations', []), + enabledConnections: { + list: (_orgId, params) => mockPagedData(params, 'enabled_connections', []), + }, + clientGrants: { + list: (_orgId, params) => mockPagedData(params, 'client_grants', []), + }, }, userAttributeProfiles: { - getAll: (params) => mockPagedData(params, 'userAttributeProfiles', []), + list: (params) => mockPagedData(params, 'userAttributeProfiles', []), }, }; } diff --git a/tsconfig.json b/tsconfig.json index 772ad734c..3ebe7ac57 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,12 +1,13 @@ { "compilerOptions": { - "target": "es2016", + "target": "es2020", "experimentalDecorators": true, - "module": "commonjs", + "module": "nodenext", + "moduleResolution": "nodenext", "rootDir": "./src", "allowJs": true, "outDir": "./lib", - "sourceMap": true, + "sourceMap": false, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "strict": false, From 128605d4ea8cf4086b40cb469c9887d35d3ab8ba Mon Sep 17 00:00:00 2001 From: Kushal <43465488+kushalshit27@users.noreply.github.com> Date: Tue, 2 Dec 2025 12:07:48 +0530 Subject: [PATCH 2/7] 8.20.4-beta.0 (#1222) * CHANGELOG updated * 8.20.4-beta.0 --- CHANGELOG.md | 10 +++++++++- package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d4679a837..ae77d99f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [8.20.4-beta.0] - 2025-12-02 + +### Changed + +- Upgrading node-auth0 from v4 to v5 [beta]. [#1207] + ## [8.20.3] - 2025-11-14 ### Fixed @@ -1511,7 +1517,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 [#1196]: https://github.com/auth0/auth0-deploy-cli/issues/1196 [#1200]: https://github.com/auth0/auth0-deploy-cli/issues/1200 [#1203]: https://github.com/auth0/auth0-deploy-cli/issues/1203 -[Unreleased]: https://github.com/auth0/auth0-deploy-cli/compare/v8.20.3...HEAD +[#1207]: https://github.com/auth0/auth0-deploy-cli/issues/1207 +[Unreleased]: https://github.com/auth0/auth0-deploy-cli/compare/v8.20.4-beta.0...HEAD +[8.20.4-beta.0]: https://github.com/auth0/auth0-deploy-cli/compare/v8.20.3...v8.20.4-beta.0 [8.20.3]: https://github.com/auth0/auth0-deploy-cli/compare/v8.20.2...v8.20.3 [8.20.2]: https://github.com/auth0/auth0-deploy-cli/compare/v8.20.1...v8.20.2 [8.20.1]: https://github.com/auth0/auth0-deploy-cli/compare/v8.20.0...v8.20.1 diff --git a/package-lock.json b/package-lock.json index 61d2260dd..5c0a51343 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "auth0-deploy-cli", - "version": "8.20.3", + "version": "8.20.4-beta.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "auth0-deploy-cli", - "version": "8.20.3", + "version": "8.20.4-beta.0", "license": "MIT", "dependencies": { "ajv": "^6.12.6", diff --git a/package.json b/package.json index 735ba17ab..edf6d54d7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "auth0-deploy-cli", - "version": "8.20.3", + "version": "8.20.4-beta.0", "description": "A command line tool for deploying updates to your Auth0 tenant", "main": "lib/index.js", "bin": { From 603801478726857d59cb6b149a415845fe7217b1 Mon Sep 17 00:00:00 2001 From: Palash Gupta Date: Mon, 8 Dec 2025 13:45:14 +0530 Subject: [PATCH 3/7] feat(prompts): add brute force protection in screen types and different screenTypes related to it (#1221) * feat(prompts): add brute force protection in screen types and different screenTypes related to it * feat(prompts): add brute-force-protection custom texts and update tests - Introduced custom text handling for brute-force protection prompts. - Updated tests to include scenarios for retrieving and updating brute-force protection custom texts. - Refactored existing tests to ensure compatibility with new prompt structure. - Stubbed new prompts in tests to return appropriate responses. - Ensured that brute-force protection settings are correctly integrated into the prompts handler. * test cases refactored --- src/tools/auth0/handlers/prompts.ts | 4 + ...sources-if-AUTH0_ALLOW_DELETE-is-true.json | 7504 ++++----- ...ources-if-AUTH0_ALLOW_DELETE-is-false.json | 4835 +++--- ...-and-deploy-without-throwing-an-error.json | 13005 ++++++++++++---- ...should-dump-without-throwing-an-error.json | 230 +- test/tools/auth0/handlers/prompts.tests.ts | 146 +- 6 files changed, 16108 insertions(+), 9616 deletions(-) diff --git a/src/tools/auth0/handlers/prompts.ts b/src/tools/auth0/handlers/prompts.ts index 47c2ea477..9ecc4a860 100644 --- a/src/tools/auth0/handlers/prompts.ts +++ b/src/tools/auth0/handlers/prompts.ts @@ -40,6 +40,7 @@ const promptTypes = [ 'common', 'captcha', 'passkeys', + 'brute-force-protection', ] as const; export type PromptTypes = (typeof promptTypes)[number]; @@ -106,6 +107,9 @@ const screenTypes = [ 'login-passwordless-sms-otp', 'passkey-enrollment', 'passkey-enrollment-local', + 'brute-force-protection-unblock', + 'brute-force-protection-unblock-success', + 'brute-force-protection-unblock-failure', ] as const; export type ScreenTypes = (typeof screenTypes)[number]; diff --git a/test/e2e/recordings/should-deploy-while-deleting-resources-if-AUTH0_ALLOW_DELETE-is-true.json b/test/e2e/recordings/should-deploy-while-deleting-resources-if-AUTH0_ALLOW_DELETE-is-true.json index 7987a2ab3..0e1f2cadd 100644 --- a/test/e2e/recordings/should-deploy-while-deleting-resources-if-AUTH0_ALLOW_DELETE-is-true.json +++ b/test/e2e/recordings/should-deploy-while-deleting-resources-if-AUTH0_ALLOW_DELETE-is-true.json @@ -1201,7 +1201,7 @@ "body": "", "status": 200, "response": { - "total": 8, + "total": 2, "start": 0, "limit": 100, "clients": [ @@ -1264,86 +1264,22 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", - "allowed_clients": [], + "name": "Default App", "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, "sso_disabled": false, "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -1351,8 +1287,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "client_id": "VTTBLf4Y7vX3tpTVj0TuGPLPXGsAMUrj", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1360,305 +1295,140 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", "grant_types": [ "authorization_code", "implicit", "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true - }, + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "DELETE", + "path": "/api/v2/clients/VTTBLf4Y7vX3tpTVj0TuGPLPXGsAMUrj", + "body": "", + "status": 204, + "response": "", + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "POST", + "path": "/api/v2/clients", + "body": { + "name": "Quickstarts API (Test Application)", + "app_type": "non_interactive", + "client_metadata": { + "foo": "bar" + }, + "cross_origin_auth": false, + "custom_login_page_on": true, + "grant_types": [ + "client_credentials" + ], + "is_first_party": true, + "is_token_endpoint_ip_header_trusted": false, + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "token_endpoint_auth_method": "client_secret_post" + }, + "status": 201, + "response": { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "encrypted": true, + "signing_keys": [ { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso": false, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/clients/PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", - "body": { - "name": "API Explorer Application", - "allowed_clients": [], - "app_type": "non_interactive", - "callbacks": [], - "client_aliases": [], - "client_metadata": {}, - "cross_origin_auth": false, - "custom_login_page_on": true, - "grant_types": [ - "client_credentials" - ], - "is_first_party": true, - "is_token_endpoint_ip_header_trusted": false, - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000 - }, - "native_social_login": { - "apple": { - "enabled": false + "cert": "[REDACTED]", + "key": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" + } + ], + "client_id": "qXCqK884hJUOYPhMMkXuFaoIlkDlIqsS", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "POST", + "path": "/api/v2/clients", + "body": { + "name": "API Explorer Application", + "allowed_clients": [], + "app_type": "non_interactive", + "callbacks": [], + "client_aliases": [], + "client_metadata": {}, + "cross_origin_auth": false, + "custom_login_page_on": true, + "grant_types": [ + "client_credentials" + ], + "is_first_party": true, + "is_token_endpoint_ip_header_trusted": false, + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "native_social_login": { + "apple": { + "enabled": false }, "facebook": { "enabled": false @@ -1677,7 +1447,7 @@ "sso_disabled": false, "token_endpoint_auth_method": "client_secret_post" }, - "status": 200, + "status": 201, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -1708,14 +1478,16 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "encrypted": true, "signing_keys": [ { "cert": "[REDACTED]", + "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", + "client_id": "y47mfVuNz3nzK4VbATlDhYsU6sBHfq8e", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1736,8 +1508,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/clients/Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "method": "POST", + "path": "/api/v2/clients", "body": { "name": "Node App", "allowed_clients": [], @@ -1759,7 +1531,8 @@ "is_token_endpoint_ip_header_trusted": false, "jwt_configuration": { "alg": "RS256", - "lifetime_in_seconds": 36000 + "lifetime_in_seconds": 36000, + "secret_encoded": false }, "native_social_login": { "apple": { @@ -1783,7 +1556,7 @@ "token_endpoint_auth_method": "client_secret_post", "web_origins": [] }, - "status": 200, + "status": 201, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -1815,15 +1588,17 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "encrypted": true, "signing_keys": [ { "cert": "[REDACTED]", + "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], "allowed_origins": [], - "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "client_id": "tALNSCcv1RtuaFJdwZkpj8WW7Ai2wGwL", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1848,14 +1623,11 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/clients/fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", + "method": "POST", + "path": "/api/v2/clients", "body": { - "name": "Quickstarts API (Test Application)", + "name": "Terraform Provider", "app_type": "non_interactive", - "client_metadata": { - "foo": "bar" - }, "cross_origin_auth": false, "custom_login_page_on": true, "grant_types": [ @@ -1865,7 +1637,8 @@ "is_token_endpoint_ip_header_trusted": false, "jwt_configuration": { "alg": "RS256", - "lifetime_in_seconds": 36000 + "lifetime_in_seconds": 36000, + "secret_encoded": false }, "oidc_conformant": true, "refresh_token": { @@ -1880,15 +1653,12 @@ "sso_disabled": false, "token_endpoint_auth_method": "client_secret_post" }, - "status": 200, + "status": 201, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "Terraform Provider", "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, @@ -1903,14 +1673,16 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "encrypted": true, "signing_keys": [ { "cert": "[REDACTED]", + "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", + "client_id": "Ls1MLBy6XnrS6FICBpTgagxcvY6g4Ln9", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1930,63 +1702,93 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/clients/17S8meqm0ImjMHCjjYwDbwrHOkApC382", + "method": "POST", + "path": "/api/v2/clients", "body": { - "name": "Terraform Provider", - "app_type": "non_interactive", + "name": "The Default App", + "allowed_clients": [], + "callbacks": [], + "client_aliases": [], + "client_metadata": {}, "cross_origin_auth": false, "custom_login_page_on": true, "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], "is_first_party": true, "is_token_endpoint_ip_header_trusted": false, "jwt_configuration": { "alg": "RS256", - "lifetime_in_seconds": 36000 + "lifetime_in_seconds": 36000, + "secret_encoded": false }, - "oidc_conformant": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "token_endpoint_auth_method": "client_secret_post" }, - "status": 200, + "status": 201, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", + "name": "The Default App", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, - "oidc_conformant": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "encrypted": true, "signing_keys": [ { "cert": "[REDACTED]", + "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", + "client_id": "m0BppkTR5PJR9UBbJmhOcXQm8kUBi3mb", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1994,9 +1796,12 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -2006,8 +1811,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/clients/HIzKdREbF957j3VNApECeIV6pViYy8q6", + "method": "POST", + "path": "/api/v2/clients", "body": { "name": "Test SPA", "allowed_clients": [], @@ -2031,7 +1836,8 @@ "is_token_endpoint_ip_header_trusted": false, "jwt_configuration": { "alg": "RS256", - "lifetime_in_seconds": 36000 + "lifetime_in_seconds": 36000, + "secret_encoded": false }, "native_social_login": { "apple": { @@ -2057,7 +1863,7 @@ "http://localhost:3000" ] }, - "status": 200, + "status": 201, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -2093,14 +1899,16 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "encrypted": true, "signing_keys": [ { "cert": "[REDACTED]", + "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", + "client_id": "1oQC5ORWSgXf4D3muXm0JFSFfyBp0svZ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2126,114 +1934,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/clients/1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", - "body": { - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_aliases": [], - "client_metadata": {}, - "cross_origin_auth": false, - "custom_login_page_on": true, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "is_first_party": true, - "is_token_endpoint_ip_header_trusted": false, - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000 - }, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso": false, - "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post" - }, - "status": 200, - "response": { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso": false, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" - } - ], - "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/clients/hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", + "method": "POST", + "path": "/api/v2/clients", "body": { "name": "auth0-deploy-cli-extension", "allowed_clients": [], @@ -2250,7 +1952,8 @@ "is_token_endpoint_ip_header_trusted": false, "jwt_configuration": { "alg": "RS256", - "lifetime_in_seconds": 36000 + "lifetime_in_seconds": 36000, + "secret_encoded": false }, "native_social_login": { "apple": { @@ -2273,7 +1976,7 @@ "sso_disabled": false, "token_endpoint_auth_method": "client_secret_post" }, - "status": 200, + "status": 201, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -2304,14 +2007,16 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "encrypted": true, "signing_keys": [ { "cert": "[REDACTED]", + "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", + "client_id": "GRROzy1MZCZ9d84osY58JfLA3X02qtQL", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2333,7 +2038,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/duo", + "path": "/api/v2/guardian/factors/otp", "body": { "enabled": false }, @@ -2347,7 +2052,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/otp", + "path": "/api/v2/guardian/factors/duo", "body": { "enabled": false }, @@ -2361,7 +2066,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/email", + "path": "/api/v2/guardian/factors/webauthn-roaming", "body": { "enabled": false }, @@ -2375,7 +2080,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", + "path": "/api/v2/guardian/factors/email", "body": { "enabled": false }, @@ -2389,7 +2094,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/recovery-code", + "path": "/api/v2/guardian/factors/sms", "body": { "enabled": false }, @@ -2403,13 +2108,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-platform", + "path": "/api/v2/guardian/factors/push-notification", "body": { - "enabled": false + "enabled": true }, "status": 200, "response": { - "enabled": false + "enabled": true }, "rawHeaders": [], "responseIsBinary": false @@ -2417,13 +2122,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/push-notification", + "path": "/api/v2/guardian/factors/recovery-code", "body": { - "enabled": true + "enabled": false }, "status": 200, "response": { - "enabled": true + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -2431,7 +2136,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/webauthn-platform", "body": { "enabled": false }, @@ -2507,56 +2212,7 @@ "body": "", "status": 200, "response": { - "actions": [ - { - "id": "ada80236-a38c-477e-8607-57fb51c714f6", - "name": "My Custom Action", - "supported_triggers": [ - { - "id": "post-login", - "version": "v2" - } - ], - "created_at": "2025-11-18T04:42:09.263480298Z", - "updated_at": "2025-11-18T04:51:47.115549173Z", - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "dependencies": [], - "runtime": "node18", - "status": "built", - "secrets": [], - "current_version": { - "id": "e992071e-eb96-4ecb-b9eb-9ad766817551", - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "runtime": "node18", - "status": "BUILT", - "number": 5, - "build_time": "2025-11-18T04:51:47.881650665Z", - "created_at": "2025-11-18T04:51:47.821317510Z", - "updated_at": "2025-11-18T04:51:47.881927882Z" - }, - "deployed_version": { - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "dependencies": [], - "id": "e992071e-eb96-4ecb-b9eb-9ad766817551", - "deployed": true, - "number": 5, - "built_at": "2025-11-18T04:51:47.881650665Z", - "secrets": [], - "status": "built", - "created_at": "2025-11-18T04:51:47.821317510Z", - "updated_at": "2025-11-18T04:51:47.881927882Z", - "runtime": "node18", - "supported_triggers": [ - { - "id": "post-login", - "version": "v2" - } - ] - }, - "all_changes_deployed": true - } - ], - "total": 1, + "actions": [], "per_page": 100 }, "rawHeaders": [], @@ -2564,8 +2220,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/actions/actions/ada80236-a38c-477e-8607-57fb51c714f6", + "method": "POST", + "path": "/api/v2/actions/actions", "body": { "name": "My Custom Action", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", @@ -2579,9 +2235,9 @@ } ] }, - "status": 200, + "status": 201, "response": { - "id": "ada80236-a38c-477e-8607-57fb51c714f6", + "id": "0c33a5ff-8c26-44e6-9c95-78b980a40e12", "name": "My Custom Action", "supported_triggers": [ { @@ -2589,43 +2245,14 @@ "version": "v2" } ], - "created_at": "2025-11-18T04:42:09.263480298Z", - "updated_at": "2025-11-18T04:57:38.118595715Z", + "created_at": "2025-12-05T14:17:01.355911147Z", + "updated_at": "2025-12-05T14:17:01.372519072Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "pending", "secrets": [], - "current_version": { - "id": "e992071e-eb96-4ecb-b9eb-9ad766817551", - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "runtime": "node18", - "status": "BUILT", - "number": 5, - "build_time": "2025-11-18T04:51:47.881650665Z", - "created_at": "2025-11-18T04:51:47.821317510Z", - "updated_at": "2025-11-18T04:51:47.881927882Z" - }, - "deployed_version": { - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "dependencies": [], - "id": "e992071e-eb96-4ecb-b9eb-9ad766817551", - "deployed": true, - "number": 5, - "built_at": "2025-11-18T04:51:47.881650665Z", - "secrets": [], - "status": "built", - "created_at": "2025-11-18T04:51:47.821317510Z", - "updated_at": "2025-11-18T04:51:47.881927882Z", - "runtime": "node18", - "supported_triggers": [ - { - "id": "post-login", - "version": "v2" - } - ] - }, - "all_changes_deployed": true + "all_changes_deployed": false }, "rawHeaders": [], "responseIsBinary": false @@ -2639,7 +2266,7 @@ "response": { "actions": [ { - "id": "ada80236-a38c-477e-8607-57fb51c714f6", + "id": "0c33a5ff-8c26-44e6-9c95-78b980a40e12", "name": "My Custom Action", "supported_triggers": [ { @@ -2647,43 +2274,14 @@ "version": "v2" } ], - "created_at": "2025-11-18T04:42:09.263480298Z", - "updated_at": "2025-11-18T04:57:38.118595715Z", + "created_at": "2025-12-05T14:17:01.355911147Z", + "updated_at": "2025-12-05T14:17:01.372519072Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "built", "secrets": [], - "current_version": { - "id": "e992071e-eb96-4ecb-b9eb-9ad766817551", - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "runtime": "node18", - "status": "BUILT", - "number": 5, - "build_time": "2025-11-18T04:51:47.881650665Z", - "created_at": "2025-11-18T04:51:47.821317510Z", - "updated_at": "2025-11-18T04:51:47.881927882Z" - }, - "deployed_version": { - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "dependencies": [], - "id": "e992071e-eb96-4ecb-b9eb-9ad766817551", - "deployed": true, - "number": 5, - "built_at": "2025-11-18T04:51:47.881650665Z", - "secrets": [], - "status": "built", - "created_at": "2025-11-18T04:51:47.821317510Z", - "updated_at": "2025-11-18T04:51:47.881927882Z", - "runtime": "node18", - "supported_triggers": [ - { - "id": "post-login", - "version": "v2" - } - ] - }, - "all_changes_deployed": true + "all_changes_deployed": false } ], "total": 1, @@ -2695,19 +2293,19 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "POST", - "path": "/api/v2/actions/actions/ada80236-a38c-477e-8607-57fb51c714f6/deploy", + "path": "/api/v2/actions/actions/0c33a5ff-8c26-44e6-9c95-78b980a40e12/deploy", "body": "", "status": 200, "response": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "885be92c-2489-4396-afac-4874030555f6", + "id": "7449cbf1-56ef-45a8-88fb-76e3da65a88c", "deployed": false, - "number": 6, + "number": 1, "secrets": [], "status": "built", - "created_at": "2025-11-18T04:57:38.852930623Z", - "updated_at": "2025-11-18T04:57:38.852930623Z", + "created_at": "2025-12-05T14:17:02.267752368Z", + "updated_at": "2025-12-05T14:17:02.267752368Z", "runtime": "node18", "supported_triggers": [ { @@ -2716,7 +2314,7 @@ } ], "action": { - "id": "ada80236-a38c-477e-8607-57fb51c714f6", + "id": "0c33a5ff-8c26-44e6-9c95-78b980a40e12", "name": "My Custom Action", "supported_triggers": [ { @@ -2724,60 +2322,14 @@ "version": "v2" } ], - "created_at": "2025-11-18T04:42:09.263480298Z", - "updated_at": "2025-11-18T04:57:38.106535202Z", + "created_at": "2025-12-05T14:17:01.355911147Z", + "updated_at": "2025-12-05T14:17:01.355911147Z", "all_changes_deployed": false } }, "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/suspicious-ip-throttling", - "body": { - "enabled": true, - "shields": [ - "admin_notification" - ], - "allowlist": [ - "127.0.0.1" - ], - "stage": { - "pre-login": { - "max_attempts": 66, - "rate": 864000 - }, - "pre-user-registration": { - "max_attempts": 66, - "rate": 1200 - } - } - }, - "status": 200, - "response": { - "enabled": true, - "shields": [ - "admin_notification" - ], - "allowlist": [ - "127.0.0.1" - ], - "stage": { - "pre-login": { - "max_attempts": 66, - "rate": 864000 - }, - "pre-user-registration": { - "max_attempts": 66, - "rate": 1200 - } - } - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -2834,6 +2386,52 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/suspicious-ip-throttling", + "body": { + "enabled": true, + "shields": [ + "admin_notification" + ], + "allowlist": [ + "127.0.0.1" + ], + "stage": { + "pre-login": { + "max_attempts": 66, + "rate": 864000 + }, + "pre-user-registration": { + "max_attempts": 66, + "rate": 1200 + } + } + }, + "status": 200, + "response": { + "enabled": true, + "shields": [ + "admin_notification" + ], + "allowlist": [ + "127.0.0.1" + ], + "stage": { + "pre-login": { + "max_attempts": 66, + "rate": 864000 + }, + "pre-user-registration": { + "max_attempts": 66, + "rate": 1200 + } + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -2861,7 +2459,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-11-18T04:51:48.948Z", + "updated_at": "2025-12-05T07:04:15.756Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] @@ -2906,7 +2504,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-11-18T04:57:40.114Z", + "updated_at": "2025-12-05T14:17:03.449Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" }, "rawHeaders": [], @@ -3158,7 +2756,7 @@ "subject": "deprecated" } ], - "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", + "client_id": "y47mfVuNz3nzK4VbATlDhYsU6sBHfq8e", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3178,21 +2776,12 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -3212,8 +2801,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "client_id": "qXCqK884hJUOYPhMMkXuFaoIlkDlIqsS", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3221,28 +2809,32 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -3262,7 +2854,8 @@ "subject": "deprecated" } ], - "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", + "allowed_origins": [], + "client_id": "tALNSCcv1RtuaFJdwZkpj8WW7Ai2wGwL", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3270,11 +2863,16 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { @@ -3303,7 +2901,7 @@ "subject": "deprecated" } ], - "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", + "client_id": "Ls1MLBy6XnrS6FICBpTgagxcvY6g4Ln9", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3322,14 +2920,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -3341,16 +2934,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -3360,7 +2954,7 @@ "subject": "deprecated" } ], - "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", + "client_id": "m0BppkTR5PJR9UBbJmhOcXQm8kUBi3mb", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3369,15 +2963,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -3385,9 +2976,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -3399,17 +2995,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -3419,7 +3014,7 @@ "subject": "deprecated" } ], - "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", + "client_id": "1oQC5ORWSgXf4D3muXm0JFSFfyBp0svZ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3428,12 +3023,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -3474,7 +3072,7 @@ "subject": "deprecated" } ], - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", + "client_id": "GRROzy1MZCZ9d84osY58JfLA3X02qtQL", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3541,64 +3139,44 @@ "response": { "connections": [ { - "id": "con_gSK3HKh000WR2Yg5", + "id": "con_LyQ8Ql8u6kYDmUkh", "options": { "mfa": { "active": true, "return_enroll_settings": true }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", + "passwordPolicy": "good", "passkey_options": { "challenge_ui": "both", "local_enrollment_enabled": true, "progressive_enrollment_enabled": true }, - "password_history": { - "size": 5, - "enable": false - }, "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, "authentication_methods": { "passkey": { "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true + "brute_force_protection": true }, "strategy": "auth0", - "name": "boo-baz-db-connection-test", + "name": "Username-Password-Authentication", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ - "boo-baz-db-connection-test" + "Username-Password-Authentication" ], "enabled_clients": [ - "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", - "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -3615,64 +3193,44 @@ "response": { "connections": [ { - "id": "con_gSK3HKh000WR2Yg5", + "id": "con_LyQ8Ql8u6kYDmUkh", "options": { "mfa": { "active": true, "return_enroll_settings": true }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", + "passwordPolicy": "good", "passkey_options": { "challenge_ui": "both", "local_enrollment_enabled": true, "progressive_enrollment_enabled": true }, - "password_history": { - "size": 5, - "enable": false - }, "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, "authentication_methods": { "passkey": { "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true + "brute_force_protection": true }, "strategy": "auth0", - "name": "boo-baz-db-connection-test", + "name": "Username-Password-Authentication", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ - "boo-baz-db-connection-test" + "Username-Password-Authentication" ], "enabled_clients": [ - "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", - "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -3683,16 +3241,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_gSK3HKh000WR2Yg5/clients?take=50", + "path": "/api/v2/connections/con_LyQ8Ql8u6kYDmUkh/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" - }, - { - "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K" + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" } ] }, @@ -3702,16 +3257,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_gSK3HKh000WR2Yg5/clients?take=50", + "path": "/api/v2/connections/con_LyQ8Ql8u6kYDmUkh/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" - }, - { - "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K" + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" } ] }, @@ -3720,82 +3272,26 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_gSK3HKh000WR2Yg5", + "method": "DELETE", + "path": "/api/v2/connections/con_LyQ8Ql8u6kYDmUkh", "body": "", - "status": 200, + "status": 202, "response": { - "id": "con_gSK3HKh000WR2Yg5", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true - }, - "strategy": "auth0", - "name": "boo-baz-db-connection-test", - "is_domain_connection": false, - "enabled_clients": [ - "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", - "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" - ], - "realms": [ - "boo-baz-db-connection-test" - ] + "deleted_at": "2025-12-05T14:17:06.615Z" }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/connections/con_gSK3HKh000WR2Yg5", + "method": "POST", + "path": "/api/v2/connections", "body": { + "name": "boo-baz-db-connection-test", + "strategy": "auth0", "enabled_clients": [ - "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", - "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" + "tALNSCcv1RtuaFJdwZkpj8WW7Ai2wGwL", + "GRROzy1MZCZ9d84osY58JfLA3X02qtQL" ], "is_domain_connection": false, "options": { @@ -3814,11 +3310,6 @@ }, "disable_signup": false, "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, "password_history": { "size": 5, "enable": false @@ -3829,14 +3320,6 @@ "enable": true, "dictionary": [] }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, "brute_force_protection": true, "password_no_personal_info": { "enable": true @@ -3850,30 +3333,25 @@ "boo-baz-db-connection-test" ] }, - "status": 200, + "status": 201, "response": { - "id": "con_gSK3HKh000WR2Yg5", + "id": "con_hZaTQt1ipndiAks3", "options": { "mfa": { "active": true, "return_enroll_settings": true }, + "passwordPolicy": "low", "import_mode": false, "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" }, "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, "password_history": { "size": 5, "enable": false @@ -3884,14 +3362,6 @@ "enable": true, "dictionary": [] }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, "brute_force_protection": true, "password_no_personal_info": { "enable": true @@ -3899,14 +3369,34 @@ "password_complexity_options": { "min_length": 8 }, - "enabledDatabaseCustomization": true + "enabledDatabaseCustomization": true, + "authentication_methods": { + "password": { + "enabled": true, + "api_behavior": "required" + }, + "passkey": { + "enabled": false + } + }, + "passkey_options": { + "challenge_ui": "both", + "progressive_enrollment_enabled": true, + "local_enrollment_enabled": true + } }, "strategy": "auth0", "name": "boo-baz-db-connection-test", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "enabled_clients": [ - "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", - "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" + "GRROzy1MZCZ9d84osY58JfLA3X02qtQL", + "tALNSCcv1RtuaFJdwZkpj8WW7Ai2wGwL" ], "realms": [ "boo-baz-db-connection-test" @@ -3915,17 +3405,98 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections?take=1&name=boo-baz-db-connection-test&include_fields=true", + "body": "", + "status": 200, + "response": { + "connections": [ + { + "id": "con_hZaTQt1ipndiAks3", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "import_mode": false, + "customScripts": { + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "password_history": { + "size": 5, + "enable": false + }, + "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true + }, + "strategy": "auth0", + "name": "boo-baz-db-connection-test", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "boo-baz-db-connection-test" + ], + "enabled_clients": [ + "GRROzy1MZCZ9d84osY58JfLA3X02qtQL", + "tALNSCcv1RtuaFJdwZkpj8WW7Ai2wGwL" + ] + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_gSK3HKh000WR2Yg5/clients", + "path": "/api/v2/connections/con_hZaTQt1ipndiAks3/clients", "body": [ { - "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "client_id": "tALNSCcv1RtuaFJdwZkpj8WW7Ai2wGwL", "status": true }, { - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", + "client_id": "GRROzy1MZCZ9d84osY58JfLA3X02qtQL", "status": true } ], @@ -4037,7 +3608,7 @@ "subject": "deprecated" } ], - "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", + "client_id": "y47mfVuNz3nzK4VbATlDhYsU6sBHfq8e", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4057,21 +3628,12 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -4091,8 +3653,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "client_id": "qXCqK884hJUOYPhMMkXuFaoIlkDlIqsS", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4100,35 +3661,39 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, @@ -4141,7 +3706,8 @@ "subject": "deprecated" } ], - "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", + "allowed_origins": [], + "client_id": "tALNSCcv1RtuaFJdwZkpj8WW7Ai2wGwL", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4149,11 +3715,16 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { @@ -4182,7 +3753,7 @@ "subject": "deprecated" } ], - "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", + "client_id": "Ls1MLBy6XnrS6FICBpTgagxcvY6g4Ln9", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4201,14 +3772,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -4220,16 +3786,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -4239,7 +3806,7 @@ "subject": "deprecated" } ], - "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", + "client_id": "m0BppkTR5PJR9UBbJmhOcXQm8kUBi3mb", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4248,15 +3815,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -4264,9 +3828,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -4278,17 +3847,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -4298,7 +3866,7 @@ "subject": "deprecated" } ], - "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", + "client_id": "1oQC5ORWSgXf4D3muXm0JFSFfyBp0svZ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4307,12 +3875,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -4353,7 +3924,7 @@ "subject": "deprecated" } ], - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", + "client_id": "GRROzy1MZCZ9d84osY58JfLA3X02qtQL", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4420,7 +3991,7 @@ "response": { "connections": [ { - "id": "con_gSK3HKh000WR2Yg5", + "id": "con_hZaTQt1ipndiAks3", "options": { "mfa": { "active": true, @@ -4457,7 +4028,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true, @@ -4472,33 +4044,18 @@ "strategy": "auth0", "name": "boo-baz-db-connection-test", "is_domain_connection": false, - "realms": [ - "boo-baz-db-connection-test" - ], - "enabled_clients": [ - "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", - "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" - ] - }, - { - "id": "con_TZft9UmXrtdJXHZN", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, "realms": [ - "google-oauth2" + "boo-baz-db-connection-test" ], "enabled_clients": [ - "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", - "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" + "GRROzy1MZCZ9d84osY58JfLA3X02qtQL", + "tALNSCcv1RtuaFJdwZkpj8WW7Ai2wGwL" ] } ] @@ -4515,7 +4072,7 @@ "response": { "connections": [ { - "id": "con_gSK3HKh000WR2Yg5", + "id": "con_hZaTQt1ipndiAks3", "options": { "mfa": { "active": true, @@ -4552,7 +4109,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true, @@ -4567,33 +4125,18 @@ "strategy": "auth0", "name": "boo-baz-db-connection-test", "is_domain_connection": false, - "realms": [ - "boo-baz-db-connection-test" - ], - "enabled_clients": [ - "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", - "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" - ] - }, - { - "id": "con_TZft9UmXrtdJXHZN", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, "realms": [ - "google-oauth2" + "boo-baz-db-connection-test" ], "enabled_clients": [ - "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", - "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" + "GRROzy1MZCZ9d84osY58JfLA3X02qtQL", + "tALNSCcv1RtuaFJdwZkpj8WW7Ai2wGwL" ] } ] @@ -4603,50 +4146,14 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ - { - "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU" - }, - { - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ - { - "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU" - }, - { - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN", + "method": "POST", + "path": "/api/v2/connections", "body": { + "name": "google-oauth2", + "strategy": "google-oauth2", "enabled_clients": [ - "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", - "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" + "m0BppkTR5PJR9UBbJmhOcXQm8kUBi3mb", + "GRROzy1MZCZ9d84osY58JfLA3X02qtQL" ], "is_domain_connection": false, "options": { @@ -4658,9 +4165,9 @@ "profile": true } }, - "status": 200, + "status": 201, "response": { - "id": "con_TZft9UmXrtdJXHZN", + "id": "con_PDStfmy3MyTLMu1x", "options": { "email": true, "scope": [ @@ -4672,9 +4179,15 @@ "strategy": "google-oauth2", "name": "google-oauth2", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "enabled_clients": [ - "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", - "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" + "GRROzy1MZCZ9d84osY58JfLA3X02qtQL", + "m0BppkTR5PJR9UBbJmhOcXQm8kUBi3mb" ], "realms": [ "google-oauth2" @@ -4683,17 +4196,57 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections?take=1&name=google-oauth2&include_fields=true", + "body": "", + "status": 200, + "response": { + "connections": [ + { + "id": "con_PDStfmy3MyTLMu1x", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + }, + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "google-oauth2" + ], + "enabled_clients": [ + "GRROzy1MZCZ9d84osY58JfLA3X02qtQL", + "m0BppkTR5PJR9UBbJmhOcXQm8kUBi3mb" + ] + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN/clients", + "path": "/api/v2/connections/con_PDStfmy3MyTLMu1x/clients", "body": [ { - "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", + "client_id": "m0BppkTR5PJR9UBbJmhOcXQm8kUBi3mb", "status": true }, { - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", + "client_id": "GRROzy1MZCZ9d84osY58JfLA3X02qtQL", "status": true } ], @@ -4842,7 +4395,7 @@ "subject": "deprecated" } ], - "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", + "client_id": "y47mfVuNz3nzK4VbATlDhYsU6sBHfq8e", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4862,21 +4415,12 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -4896,8 +4440,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "client_id": "qXCqK884hJUOYPhMMkXuFaoIlkDlIqsS", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4905,28 +4448,32 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -4946,7 +4493,8 @@ "subject": "deprecated" } ], - "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", + "allowed_origins": [], + "client_id": "tALNSCcv1RtuaFJdwZkpj8WW7Ai2wGwL", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4954,11 +4502,16 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { @@ -4987,7 +4540,7 @@ "subject": "deprecated" } ], - "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", + "client_id": "Ls1MLBy6XnrS6FICBpTgagxcvY6g4Ln9", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5006,14 +4559,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -5025,16 +4573,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -5044,7 +4593,7 @@ "subject": "deprecated" } ], - "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", + "client_id": "m0BppkTR5PJR9UBbJmhOcXQm8kUBi3mb", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5053,15 +4602,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -5069,9 +4615,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -5083,17 +4634,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -5103,7 +4653,7 @@ "subject": "deprecated" } ], - "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", + "client_id": "1oQC5ORWSgXf4D3muXm0JFSFfyBp0svZ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5112,12 +4662,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -5158,7 +4711,7 @@ "subject": "deprecated" } ], - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", + "client_id": "GRROzy1MZCZ9d84osY58JfLA3X02qtQL", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5225,8 +4778,8 @@ "response": { "client_grants": [ { - "id": "cgr_3AYjjoZPrtNXxpUX", - "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", + "id": "cgr_pbwejzhwoujrsNE8", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -5253,6 +4806,10 @@ "update:client_keys", "delete:client_keys", "create:client_keys", + "read:client_credentials", + "update:client_credentials", + "delete:client_credentials", + "create:client_credentials", "read:connections", "update:connections", "delete:connections", @@ -5342,10 +4899,19 @@ "read:entitlements", "read:attack_protection", "update:attack_protection", + "read:organizations_summary", + "create:authentication_methods", + "read:authentication_methods", + "update:authentication_methods", + "delete:authentication_methods", "read:organizations", "update:organizations", "create:organizations", "delete:organizations", + "read:organization_discovery_domains", + "update:organization_discovery_domains", + "create:organization_discovery_domains", + "delete:organization_discovery_domains", "create:organization_members", "read:organization_members", "delete:organization_members", @@ -5358,1857 +4924,673 @@ "delete:organization_member_roles", "create:organization_invitations", "read:organization_invitations", - "delete:organization_invitations" + "delete:organization_invitations", + "read:scim_config", + "create:scim_config", + "update:scim_config", + "delete:scim_config", + "create:scim_token", + "read:scim_token", + "delete:scim_token", + "delete:phone_providers", + "create:phone_providers", + "read:phone_providers", + "update:phone_providers", + "delete:phone_templates", + "create:phone_templates", + "read:phone_templates", + "update:phone_templates", + "create:encryption_keys", + "read:encryption_keys", + "update:encryption_keys", + "delete:encryption_keys", + "read:sessions", + "update:sessions", + "delete:sessions", + "read:refresh_tokens", + "delete:refresh_tokens", + "create:self_service_profiles", + "read:self_service_profiles", + "update:self_service_profiles", + "delete:self_service_profiles", + "create:sso_access_tickets", + "delete:sso_access_tickets", + "read:forms", + "update:forms", + "delete:forms", + "create:forms", + "read:flows", + "update:flows", + "delete:flows", + "create:flows", + "read:flows_vault", + "read:flows_vault_connections", + "update:flows_vault_connections", + "delete:flows_vault_connections", + "create:flows_vault_connections", + "read:flows_executions", + "delete:flows_executions", + "read:connections_options", + "update:connections_options", + "read:self_service_profile_custom_texts", + "update:self_service_profile_custom_texts", + "create:network_acls", + "update:network_acls", + "read:network_acls", + "delete:network_acls", + "delete:vdcs_templates", + "read:vdcs_templates", + "create:vdcs_templates", + "update:vdcs_templates", + "create:custom_signing_keys", + "read:custom_signing_keys", + "update:custom_signing_keys", + "delete:custom_signing_keys", + "read:federated_connections_tokens", + "delete:federated_connections_tokens", + "create:user_attribute_profiles", + "read:user_attribute_profiles", + "update:user_attribute_profiles", + "delete:user_attribute_profiles", + "read:event_streams", + "create:event_streams", + "delete:event_streams", + "update:event_streams", + "read:event_deliveries", + "update:event_deliveries", + "create:connection_profiles", + "read:connection_profiles", + "update:connection_profiles", + "delete:connection_profiles", + "read:organization_client_grants", + "create:organization_client_grants", + "delete:organization_client_grants", + "read:security_metrics", + "read:connections_keys", + "update:connections_keys", + "create:connections_keys" ], "subject_type": "client" - }, - { - "id": "cgr_9BAlRXJOVpDaB7eR", - "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" - ], - "subject_type": "client" - }, - { - "id": "cgr_pbwejzhwoujrsNE8", - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:client_credentials", - "update:client_credentials", - "delete:client_credentials", - "create:client_credentials", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations_summary", - "create:authentication_methods", - "read:authentication_methods", - "update:authentication_methods", - "delete:authentication_methods", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "read:organization_discovery_domains", - "update:organization_discovery_domains", - "create:organization_discovery_domains", - "delete:organization_discovery_domains", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations", - "read:scim_config", - "create:scim_config", - "update:scim_config", - "delete:scim_config", - "create:scim_token", - "read:scim_token", - "delete:scim_token", - "delete:phone_providers", - "create:phone_providers", - "read:phone_providers", - "update:phone_providers", - "delete:phone_templates", - "create:phone_templates", - "read:phone_templates", - "update:phone_templates", - "create:encryption_keys", - "read:encryption_keys", - "update:encryption_keys", - "delete:encryption_keys", - "read:sessions", - "update:sessions", - "delete:sessions", - "read:refresh_tokens", - "delete:refresh_tokens", - "create:self_service_profiles", - "read:self_service_profiles", - "update:self_service_profiles", - "delete:self_service_profiles", - "create:sso_access_tickets", - "delete:sso_access_tickets", - "read:forms", - "update:forms", - "delete:forms", - "create:forms", - "read:flows", - "update:flows", - "delete:flows", - "create:flows", - "read:flows_vault", - "read:flows_vault_connections", - "update:flows_vault_connections", - "delete:flows_vault_connections", - "create:flows_vault_connections", - "read:flows_executions", - "delete:flows_executions", - "read:connections_options", - "update:connections_options", - "read:self_service_profile_custom_texts", - "update:self_service_profile_custom_texts", - "create:network_acls", - "update:network_acls", - "read:network_acls", - "delete:network_acls", - "delete:vdcs_templates", - "read:vdcs_templates", - "create:vdcs_templates", - "update:vdcs_templates", - "create:custom_signing_keys", - "read:custom_signing_keys", - "update:custom_signing_keys", - "delete:custom_signing_keys", - "read:federated_connections_tokens", - "delete:federated_connections_tokens", - "create:user_attribute_profiles", - "read:user_attribute_profiles", - "update:user_attribute_profiles", - "delete:user_attribute_profiles", - "read:event_streams", - "create:event_streams", - "delete:event_streams", - "update:event_streams", - "read:event_deliveries", - "update:event_deliveries", - "create:connection_profiles", - "read:connection_profiles", - "update:connection_profiles", - "delete:connection_profiles", - "read:organization_client_grants", - "create:organization_client_grants", - "delete:organization_client_grants", - "read:security_metrics", - "read:connections_keys", - "update:connections_keys", - "create:connections_keys" - ], - "subject_type": "client" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/client-grants/cgr_9BAlRXJOVpDaB7eR", - "body": { - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" - ] - }, - "status": 200, - "response": { - "id": "cgr_9BAlRXJOVpDaB7eR", - "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" - ], - "subject_type": "client" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/client-grants/cgr_3AYjjoZPrtNXxpUX", - "body": { - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" - ] - }, - "status": 200, - "response": { - "id": "cgr_3AYjjoZPrtNXxpUX", - "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" - ], - "subject_type": "client" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "roles": [ - { - "id": "rol_QuDH6eKysxE8ilL9", - "name": "Admin", - "description": "Can read and write things" - }, - { - "id": "rol_3OJzKOu3TsUKCvFO", - "name": "Reader", - "description": "Can only read things" - }, - { - "id": "rol_dqwrzyi9Bx9QmZ3E", - "name": "read_only", - "description": "Read Only" - }, - { - "id": "rol_tcKxqeYyc6Eqp7Jb", - "name": "read_osnly", - "description": "Readz Only" - } - ], - "start": 0, - "limit": 100, - "total": 4 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_QuDH6eKysxE8ilL9/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_QuDH6eKysxE8ilL9/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_3OJzKOu3TsUKCvFO/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_3OJzKOu3TsUKCvFO/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_dqwrzyi9Bx9QmZ3E/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_dqwrzyi9Bx9QmZ3E/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_tcKxqeYyc6Eqp7Jb/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_tcKxqeYyc6Eqp7Jb/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/roles/rol_QuDH6eKysxE8ilL9", - "body": { - "name": "Admin", - "description": "Can read and write things" - }, - "status": 200, - "response": { - "id": "rol_QuDH6eKysxE8ilL9", - "name": "Admin", - "description": "Can read and write things" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/roles/rol_3OJzKOu3TsUKCvFO", - "body": { - "name": "Reader", - "description": "Can only read things" - }, - "status": 200, - "response": { - "id": "rol_3OJzKOu3TsUKCvFO", - "name": "Reader", - "description": "Can only read things" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/roles/rol_dqwrzyi9Bx9QmZ3E", - "body": { - "name": "read_only", - "description": "Read Only" - }, - "status": 200, - "response": { - "id": "rol_dqwrzyi9Bx9QmZ3E", - "name": "read_only", - "description": "Read Only" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/roles/rol_tcKxqeYyc6Eqp7Jb", - "body": { - "name": "read_osnly", - "description": "Readz Only" - }, - "status": 200, - "response": { - "id": "rol_tcKxqeYyc6Eqp7Jb", - "name": "read_osnly", - "description": "Readz Only" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/self-service-profiles?page=0&per_page=100&include_totals=true", - "body": "", - "status": 200, - "response": { - "self_service_profiles": [ - { - "id": "ssp_f6qt3syGauLKbSgt6GRLim", - "name": "self-service-profile-1", - "description": "test description self-service-profile-1", - "user_attributes": [ - { - "name": "email", - "description": "Email of the User", - "is_optional": false - }, - { - "name": "name", - "description": "Name of the User", - "is_optional": true - } - ], - "allowed_strategies": [ - "google-apps", - "okta" - ], - "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-11-18T04:52:03.403Z", - "branding": { - "colors": { - "primary": "#19aecc" - } - } - } - ], - "start": 0, - "limit": 100, - "total": 1 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/self-service-profiles/ssp_f6qt3syGauLKbSgt6GRLim/custom-text/en/get-started", - "body": "", - "status": 200, - "response": {}, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/self-service-profiles/ssp_f6qt3syGauLKbSgt6GRLim", - "body": { - "name": "self-service-profile-1", - "allowed_strategies": [ - "google-apps", - "okta" - ], - "branding": { - "colors": { - "primary": "#19aecc" - } - }, - "description": "test description self-service-profile-1", - "user_attributes": [ - { - "name": "email", - "description": "Email of the User", - "is_optional": false - }, - { - "name": "name", - "description": "Name of the User", - "is_optional": true - } - ] - }, - "status": 200, - "response": { - "id": "ssp_f6qt3syGauLKbSgt6GRLim", - "name": "self-service-profile-1", - "description": "test description self-service-profile-1", - "user_attributes": [ - { - "name": "email", - "description": "Email of the User", - "is_optional": false - }, - { - "name": "name", - "description": "Name of the User", - "is_optional": true - } - ], - "allowed_strategies": [ - "google-apps", - "okta" - ], - "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-11-18T04:57:54.740Z", - "branding": { - "colors": { - "primary": "#19aecc" - } - } - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/email-templates/welcome_email", - "body": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "enabled": false, - "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600 - }, - "status": 200, - "response": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/email-templates/verify_email", - "body": { - "template": "verify_email", - "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", - "enabled": true, - "from": "", - "subject": "", - "syntax": "liquid", - "urlLifetimeInSeconds": 432000 - }, - "status": 200, - "response": { - "template": "verify_email", - "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", - "from": "", - "subject": "", - "syntax": "liquid", - "urlLifetimeInSeconds": 432000, - "enabled": true - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations?take=50", - "body": "", - "status": 200, - "response": { - "organizations": [ - { - "id": "org_JrXRxTbTrRdicEcf", - "name": "org2", - "display_name": "Organization2" - }, - { - "id": "org_PCcwQ9qOcuJfWkEL", - "name": "org1", - "display_name": "Organization", - "branding": { - "colors": { - "page_background": "#fff5f5", - "primary": "#57ddff" - } - } - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", - "body": "", - "status": 200, - "response": { - "total": 9, - "start": 0, - "limit": 100, - "clients": [ - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", - "is_first_party": true, - "oidc_conformant": true, - "sso_disabled": false, - "cross_origin_auth": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "cross_origin_authentication": true, - "allowed_clients": [], - "callbacks": [], - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials", - "implicit", - "authorization_code", - "refresh_token" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "allowed_origins": [], - "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "web_origins": [], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso": false, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], - "is_first_party": true, - "name": "All Applications", - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true } ] }, "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "POST", + "path": "/api/v2/client-grants", + "body": { + "client_id": "y47mfVuNz3nzK4VbATlDhYsU6sBHfq8e", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ] + }, + "status": 201, + "response": { + "id": "cgr_nQbSrZMUhw4DZL08", + "client_id": "y47mfVuNz3nzK4VbATlDhYsU6sBHfq8e", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ], + "subject_type": "client" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "POST", + "path": "/api/v2/client-grants", + "body": { + "client_id": "Ls1MLBy6XnrS6FICBpTgagxcvY6g4Ln9", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ] + }, + "status": 201, + "response": { + "id": "cgr_Wrw6xD2c9kmIaens", + "client_id": "Ls1MLBy6XnrS6FICBpTgagxcvY6g4Ln9", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ], + "subject_type": "client" + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/roles?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { - "enabled_connections": [], + "roles": [], "start": 0, - "limit": 0, + "limit": 100, "total": 0 }, "rawHeaders": [], @@ -7216,57 +5598,68 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/enabled_connections?page=0&per_page=50&include_totals=true", - "body": "", + "method": "POST", + "path": "/api/v2/roles", + "body": { + "name": "Reader", + "description": "Can only read things" + }, "status": 200, "response": { - "enabled_connections": [], - "start": 0, - "limit": 0, - "total": 0 + "id": "rol_RHscBFVFVGjF0XUF", + "name": "Reader", + "description": "Can only read things" }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/client-grants?page=0&per_page=50&include_totals=true", - "body": "", + "method": "POST", + "path": "/api/v2/roles", + "body": { + "name": "read_only", + "description": "Read Only" + }, "status": 200, "response": { - "client_grants": [], - "start": 0, - "limit": 50, - "total": 0 + "id": "rol_kL3UG17fgNRrEKRx", + "name": "read_only", + "description": "Read Only" }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/client-grants?page=0&per_page=50&include_totals=true", - "body": "", + "method": "POST", + "path": "/api/v2/roles", + "body": { + "name": "Admin", + "description": "Can read and write things" + }, "status": 200, "response": { - "client_grants": [], - "start": 0, - "limit": 50, - "total": 0 + "id": "rol_46SzzG1V7VRvdtq8", + "name": "Admin", + "description": "Can read and write things" }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/discovery-domains?take=50", - "body": "", + "method": "POST", + "path": "/api/v2/roles", + "body": { + "name": "read_osnly", + "description": "Readz Only" + }, "status": 200, "response": { - "domains": [] + "id": "rol_zSgDEbLTgZ2JAGIy", + "name": "read_osnly", + "description": "Readz Only" }, "rawHeaders": [], "responseIsBinary": false @@ -7274,11 +5667,43 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/discovery-domains?take=50", + "path": "/api/v2/self-service-profiles?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { - "domains": [] + "self_service_profiles": [ + { + "id": "ssp_f6qt3syGauLKbSgt6GRLim", + "name": "self-service-profile-1", + "description": "test description self-service-profile-1", + "user_attributes": [ + { + "name": "email", + "description": "Email of the User", + "is_optional": false + }, + { + "name": "name", + "description": "Name of the User", + "is_optional": true + } + ], + "allowed_strategies": [ + "google-apps", + "okta" + ], + "created_at": "2024-11-26T11:58:18.962Z", + "updated_at": "2025-12-05T07:04:31.162Z", + "branding": { + "colors": { + "primary": "#19aecc" + } + } + } + ], + "start": 0, + "limit": 100, + "total": 1 }, "rawHeaders": [], "responseIsBinary": false @@ -7286,83 +5711,124 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/self-service-profiles/ssp_f6qt3syGauLKbSgt6GRLim/custom-text/en/get-started", "body": "", "status": 200, - "response": { - "enabled_connections": [], - "start": 0, - "limit": 0, - "total": 0 - }, + "response": {}, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/enabled_connections?page=0&per_page=50&include_totals=true", - "body": "", + "method": "PATCH", + "path": "/api/v2/self-service-profiles/ssp_f6qt3syGauLKbSgt6GRLim", + "body": { + "name": "self-service-profile-1", + "allowed_strategies": [ + "google-apps", + "okta" + ], + "branding": { + "colors": { + "primary": "#19aecc" + } + }, + "description": "test description self-service-profile-1", + "user_attributes": [ + { + "name": "email", + "description": "Email of the User", + "is_optional": false + }, + { + "name": "name", + "description": "Name of the User", + "is_optional": true + } + ] + }, "status": 200, "response": { - "enabled_connections": [], - "start": 0, - "limit": 0, - "total": 0 + "id": "ssp_f6qt3syGauLKbSgt6GRLim", + "name": "self-service-profile-1", + "description": "test description self-service-profile-1", + "user_attributes": [ + { + "name": "email", + "description": "Email of the User", + "is_optional": false + }, + { + "name": "name", + "description": "Name of the User", + "is_optional": true + } + ], + "allowed_strategies": [ + "google-apps", + "okta" + ], + "created_at": "2024-11-26T11:58:18.962Z", + "updated_at": "2025-12-05T14:17:19.637Z", + "branding": { + "colors": { + "primary": "#19aecc" + } + } }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/client-grants?page=0&per_page=50&include_totals=true", - "body": "", - "status": 200, - "response": { - "client_grants": [], - "start": 0, - "limit": 50, - "total": 0 + "method": "PATCH", + "path": "/api/v2/email-templates/verify_email", + "body": { + "template": "verify_email", + "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", + "enabled": true, + "from": "", + "subject": "", + "syntax": "liquid", + "urlLifetimeInSeconds": 432000 }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/client-grants?page=0&per_page=50&include_totals=true", - "body": "", "status": 200, "response": { - "client_grants": [], - "start": 0, - "limit": 50, - "total": 0 + "template": "verify_email", + "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", + "from": "", + "subject": "", + "syntax": "liquid", + "urlLifetimeInSeconds": 432000, + "enabled": true }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/discovery-domains?take=50", - "body": "", - "status": 200, - "response": { - "domains": [] + "method": "PATCH", + "path": "/api/v2/email-templates/welcome_email", + "body": { + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "enabled": false, + "from": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", + "syntax": "liquid", + "urlLifetimeInSeconds": 3600 }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/discovery-domains?take=50", - "body": "", "status": 200, "response": { - "domains": [] + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "from": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", + "syntax": "liquid", + "urlLifetimeInSeconds": 3600, + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -7370,94 +5836,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?take=50", + "path": "/api/v2/organizations?take=50", "body": "", "status": 200, "response": { - "connections": [ - { - "id": "con_gSK3HKh000WR2Yg5", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true - }, - "strategy": "auth0", - "name": "boo-baz-db-connection-test", - "is_domain_connection": false, - "realms": [ - "boo-baz-db-connection-test" - ], - "enabled_clients": [ - "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", - "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" - ] - }, - { - "id": "con_TZft9UmXrtdJXHZN", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "realms": [ - "google-oauth2" - ], - "enabled_clients": [ - "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", - "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" - ] - } - ] + "organizations": [] }, "rawHeaders": [], "responseIsBinary": false @@ -7565,7 +5948,7 @@ "subject": "deprecated" } ], - "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", + "client_id": "y47mfVuNz3nzK4VbATlDhYsU6sBHfq8e", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7581,6 +5964,50 @@ ], "custom_login_page_on": true }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "qXCqK884hJUOYPhMMkXuFaoIlkDlIqsS", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -7620,7 +6047,7 @@ } ], "allowed_origins": [], - "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "client_id": "tALNSCcv1RtuaFJdwZkpj8WW7Ai2wGwL", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7644,10 +6071,7 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "Terraform Provider", "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, @@ -7669,7 +6093,7 @@ "subject": "deprecated" } ], - "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", + "client_id": "Ls1MLBy6XnrS6FICBpTgagxcvY6g4Ln9", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7688,19 +6112,31 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", + "name": "The Default App", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, - "oidc_conformant": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -7710,7 +6146,7 @@ "subject": "deprecated" } ], - "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", + "client_id": "m0BppkTR5PJR9UBbJmhOcXQm8kUBi3mb", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7718,9 +6154,12 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -7767,7 +6206,7 @@ "subject": "deprecated" } ], - "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", + "client_id": "1oQC5ORWSgXf4D3muXm0JFSFfyBp0svZ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7792,7 +6231,7 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], "client_metadata": {}, @@ -7806,7 +6245,47 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "GRROzy1MZCZ9d84osY58JfLA3X02qtQL", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": true, + "callbacks": [], + "is_first_party": true, + "name": "All Applications", "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -7816,9 +6295,17 @@ "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, - "sso": false, - "sso_disabled": false, - "cross_origin_authentication": false, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" + ], + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, "signing_keys": [ { "cert": "[REDACTED]", @@ -7826,130 +6313,410 @@ "subject": "deprecated" } ], - "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", - "callback_url_template": false, + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false + "custom_login_page_on": true + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections?take=50", + "body": "", + "status": 200, + "response": { + "connections": [ + { + "id": "con_hZaTQt1ipndiAks3", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "import_mode": false, + "customScripts": { + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "password_history": { + "size": 5, + "enable": false + }, + "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" + "strategy": "auth0", + "name": "boo-baz-db-connection-test", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "boo-baz-db-connection-test" + ], + "enabled_clients": [ + "GRROzy1MZCZ9d84osY58JfLA3X02qtQL", + "tALNSCcv1RtuaFJdwZkpj8WW7Ai2wGwL" + ] + }, + { + "id": "con_PDStfmy3MyTLMu1x", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + }, + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "google-oauth2" + ], + "enabled_clients": [ + "GRROzy1MZCZ9d84osY58JfLA3X02qtQL", + "m0BppkTR5PJR9UBbJmhOcXQm8kUBi3mb" + ] + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/client-grants?take=50", + "body": "", + "status": 200, + "response": { + "client_grants": [ + { + "id": "cgr_Wrw6xD2c9kmIaens", + "client_id": "Ls1MLBy6XnrS6FICBpTgagxcvY6g4Ln9", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" ], - "custom_login_page_on": true + "subject_type": "client" }, { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" + "id": "cgr_nQbSrZMUhw4DZL08", + "client_id": "y47mfVuNz3nzK4VbATlDhYsU6sBHfq8e", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" ], - "custom_login_page_on": true + "subject_type": "client" }, { - "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], - "is_first_party": true, - "name": "All Applications", - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/client-grants?take=50", - "body": "", - "status": 200, - "response": { - "client_grants": [ - { - "id": "cgr_3AYjjoZPrtNXxpUX", - "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", + "id": "cgr_pbwejzhwoujrsNE8", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -7976,6 +6743,10 @@ "update:client_keys", "delete:client_keys", "create:client_keys", + "read:client_credentials", + "update:client_credentials", + "delete:client_credentials", + "create:client_credentials", "read:connections", "update:connections", "delete:connections", @@ -8065,10 +6836,19 @@ "read:entitlements", "read:attack_protection", "update:attack_protection", + "read:organizations_summary", + "create:authentication_methods", + "read:authentication_methods", + "update:authentication_methods", + "delete:authentication_methods", "read:organizations", "update:organizations", "create:organizations", "delete:organizations", + "read:organization_discovery_domains", + "update:organization_discovery_domains", + "create:organization_discovery_domains", + "delete:organization_discovery_domains", "create:organization_members", "read:organization_members", "delete:organization_members", @@ -8081,382 +6861,570 @@ "delete:organization_member_roles", "create:organization_invitations", "read:organization_invitations", - "delete:organization_invitations" + "delete:organization_invitations", + "read:scim_config", + "create:scim_config", + "update:scim_config", + "delete:scim_config", + "create:scim_token", + "read:scim_token", + "delete:scim_token", + "delete:phone_providers", + "create:phone_providers", + "read:phone_providers", + "update:phone_providers", + "delete:phone_templates", + "create:phone_templates", + "read:phone_templates", + "update:phone_templates", + "create:encryption_keys", + "read:encryption_keys", + "update:encryption_keys", + "delete:encryption_keys", + "read:sessions", + "update:sessions", + "delete:sessions", + "read:refresh_tokens", + "delete:refresh_tokens", + "create:self_service_profiles", + "read:self_service_profiles", + "update:self_service_profiles", + "delete:self_service_profiles", + "create:sso_access_tickets", + "delete:sso_access_tickets", + "read:forms", + "update:forms", + "delete:forms", + "create:forms", + "read:flows", + "update:flows", + "delete:flows", + "create:flows", + "read:flows_vault", + "read:flows_vault_connections", + "update:flows_vault_connections", + "delete:flows_vault_connections", + "create:flows_vault_connections", + "read:flows_executions", + "delete:flows_executions", + "read:connections_options", + "update:connections_options", + "read:self_service_profile_custom_texts", + "update:self_service_profile_custom_texts", + "create:network_acls", + "update:network_acls", + "read:network_acls", + "delete:network_acls", + "delete:vdcs_templates", + "read:vdcs_templates", + "create:vdcs_templates", + "update:vdcs_templates", + "create:custom_signing_keys", + "read:custom_signing_keys", + "update:custom_signing_keys", + "delete:custom_signing_keys", + "read:federated_connections_tokens", + "delete:federated_connections_tokens", + "create:user_attribute_profiles", + "read:user_attribute_profiles", + "update:user_attribute_profiles", + "delete:user_attribute_profiles", + "read:event_streams", + "create:event_streams", + "delete:event_streams", + "update:event_streams", + "read:event_deliveries", + "update:event_deliveries", + "create:connection_profiles", + "read:connection_profiles", + "update:connection_profiles", + "delete:connection_profiles", + "read:organization_client_grants", + "create:organization_client_grants", + "delete:organization_client_grants", + "read:security_metrics", + "read:connections_keys", + "update:connections_keys", + "create:connections_keys" + ], + "subject_type": "client" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "total": 9, + "start": 0, + "limit": 100, + "clients": [ + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Deploy CLI", + "is_first_party": true, + "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "cross_origin_authentication": true, + "allowed_clients": [], + "callbacks": [], + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials", + "implicit", + "authorization_code", + "refresh_token" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "y47mfVuNz3nzK4VbATlDhYsU6sBHfq8e", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "qXCqK884hJUOYPhMMkXuFaoIlkDlIqsS", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" ], - "subject_type": "client" + "custom_login_page_on": true }, { - "id": "cgr_9BAlRXJOVpDaB7eR", - "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "allowed_origins": [], + "client_id": "tALNSCcv1RtuaFJdwZkpj8WW7Ai2wGwL", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "regular_web", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "web_origins": [], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Terraform Provider", + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Ls1MLBy6XnrS6FICBpTgagxcvY6g4Ln9", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "The Default App", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso": false, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "subject_type": "client" - }, - { - "id": "cgr_pbwejzhwoujrsNE8", - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:client_credentials", - "update:client_credentials", - "delete:client_credentials", - "create:client_credentials", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations_summary", - "create:authentication_methods", - "read:authentication_methods", - "update:authentication_methods", - "delete:authentication_methods", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "read:organization_discovery_domains", - "update:organization_discovery_domains", - "create:organization_discovery_domains", - "delete:organization_discovery_domains", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations", - "read:scim_config", - "create:scim_config", - "update:scim_config", - "delete:scim_config", - "create:scim_token", - "read:scim_token", - "delete:scim_token", - "delete:phone_providers", - "create:phone_providers", - "read:phone_providers", - "update:phone_providers", - "delete:phone_templates", - "create:phone_templates", - "read:phone_templates", - "update:phone_templates", - "create:encryption_keys", - "read:encryption_keys", - "update:encryption_keys", - "delete:encryption_keys", - "read:sessions", - "update:sessions", - "delete:sessions", - "read:refresh_tokens", - "delete:refresh_tokens", - "create:self_service_profiles", - "read:self_service_profiles", - "update:self_service_profiles", - "delete:self_service_profiles", - "create:sso_access_tickets", - "delete:sso_access_tickets", - "read:forms", - "update:forms", - "delete:forms", - "create:forms", - "read:flows", - "update:flows", - "delete:flows", - "create:flows", - "read:flows_vault", - "read:flows_vault_connections", - "update:flows_vault_connections", - "delete:flows_vault_connections", - "create:flows_vault_connections", - "read:flows_executions", - "delete:flows_executions", - "read:connections_options", - "update:connections_options", - "read:self_service_profile_custom_texts", - "update:self_service_profile_custom_texts", - "create:network_acls", - "update:network_acls", - "read:network_acls", - "delete:network_acls", - "delete:vdcs_templates", - "read:vdcs_templates", - "create:vdcs_templates", - "update:vdcs_templates", - "create:custom_signing_keys", - "read:custom_signing_keys", - "update:custom_signing_keys", - "delete:custom_signing_keys", - "read:federated_connections_tokens", - "delete:federated_connections_tokens", - "create:user_attribute_profiles", - "read:user_attribute_profiles", - "update:user_attribute_profiles", - "delete:user_attribute_profiles", - "read:event_streams", - "create:event_streams", - "delete:event_streams", - "update:event_streams", - "read:event_deliveries", - "update:event_deliveries", - "create:connection_profiles", - "read:connection_profiles", - "update:connection_profiles", - "delete:connection_profiles", - "read:organization_client_grants", - "create:organization_client_grants", - "delete:organization_client_grants", - "read:security_metrics", - "read:connections_keys", - "update:connections_keys", - "create:connections_keys" + "client_id": "m0BppkTR5PJR9UBbJmhOcXQm8kUBi3mb", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" ], - "subject_type": "client" + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "1oQC5ORWSgXf4D3muXm0JFSFfyBp0svZ", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "none", + "app_type": "spa", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "GRROzy1MZCZ9d84osY58JfLA3X02qtQL", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": true, + "callbacks": [], + "is_first_party": true, + "name": "All Applications", + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" + ], + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true } ] }, @@ -8465,14 +7433,15 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf", + "method": "POST", + "path": "/api/v2/organizations", "body": { + "name": "org2", "display_name": "Organization2" }, - "status": 200, + "status": 201, "response": { - "id": "org_JrXRxTbTrRdicEcf", + "id": "org_xFaZ9p68B4spMsY4", "display_name": "Organization2", "name": "org2" }, @@ -8481,118 +7450,58 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL", - "body": { - "branding": { - "colors": { - "page_background": "#fff5f5", - "primary": "#57ddff" - } - }, - "display_name": "Organization" - }, - "status": 200, - "response": { - "branding": { - "colors": { - "page_background": "#fff5f5", - "primary": "#57ddff" - } - }, - "id": "org_PCcwQ9qOcuJfWkEL", - "display_name": "Organization", - "name": "org1" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/log-streams", - "body": "", - "status": 200, - "response": [ - { - "id": "lst_0000000000025177", - "name": "Suspended DD Log Stream", - "type": "datadog", - "status": "active", - "sink": { - "datadogApiKey": "some-sensitive-api-key", - "datadogRegion": "us" - }, - "isPriority": false - }, - { - "id": "lst_0000000000025178", - "name": "Amazon EventBridge", - "type": "eventbridge", - "status": "active", - "sink": { - "awsAccountId": "123456789012", - "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-c1366744-b33c-4125-b8c0-625b40865581/auth0.logs" - }, - "filters": [ - { - "type": "category", - "name": "auth.login.success" - }, - { - "type": "category", - "name": "auth.login.notification" - }, - { - "type": "category", - "name": "auth.login.fail" - }, - { - "type": "category", - "name": "auth.signup.success" - }, - { - "type": "category", - "name": "auth.logout.success" - }, - { - "type": "category", - "name": "auth.logout.fail" - }, - { - "type": "category", - "name": "auth.silent_auth.fail" - }, - { - "type": "category", - "name": "auth.silent_auth.success" - }, - { - "type": "category", - "name": "auth.token_exchange.fail" - } - ], - "isPriority": false + "method": "POST", + "path": "/api/v2/organizations", + "body": { + "name": "org1", + "branding": { + "colors": { + "page_background": "#fff5f5", + "primary": "#57ddff" + } + }, + "display_name": "Organization" + }, + "status": 201, + "response": { + "id": "org_QEYnCDUsFcZBfoaS", + "display_name": "Organization", + "name": "org1", + "branding": { + "colors": { + "page_background": "#fff5f5", + "primary": "#57ddff" + } } - ], + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/log-streams/lst_0000000000025177", + "method": "GET", + "path": "/api/v2/log-streams", + "body": "", + "status": 200, + "response": [], + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "POST", + "path": "/api/v2/log-streams", "body": { "name": "Suspended DD Log Stream", "sink": { "datadogApiKey": "some-sensitive-api-key", "datadogRegion": "us" - } + }, + "type": "datadog" }, "status": 200, "response": { - "id": "lst_0000000000025177", + "id": "lst_0000000000025429", "name": "Suspended DD Log Stream", "type": "datadog", "status": "active", @@ -8607,8 +7516,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/log-streams/lst_0000000000025178", + "method": "POST", + "path": "/api/v2/log-streams", "body": { "name": "Amazon EventBridge", "filters": [ @@ -8649,18 +7558,22 @@ "name": "auth.token_exchange.fail" } ], - "status": "active" + "sink": { + "awsAccountId": "123456789012", + "awsRegion": "us-east-2" + }, + "type": "eventbridge" }, "status": 200, "response": { - "id": "lst_0000000000025178", + "id": "lst_0000000000025430", "name": "Amazon EventBridge", "type": "eventbridge", "status": "active", "sink": { "awsAccountId": "123456789012", "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-c1366744-b33c-4125-b8c0-625b40865581/auth0.logs" + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-5c0e180e-b406-4da2-92eb-a6fa8507a291/auth0.logs" }, "filters": [ { @@ -8723,22 +7636,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, - "total": 1, - "forms": [ - { - "id": "ap_6JUSCU7qq1CravnoU6d6jr", - "name": "Blank-form", - "flow_count": 0, - "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-11-18T04:42:29.394Z" - } - ] + "total": 0, + "flows": [] }, "rawHeaders": [], "responseIsBinary": false @@ -8746,14 +7651,22 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, - "total": 0, - "flows": [] + "total": 1, + "forms": [ + { + "id": "ap_6JUSCU7qq1CravnoU6d6jr", + "name": "Blank-form", + "flow_count": 0, + "created_at": "2024-11-26T11:58:18.187Z", + "updated_at": "2025-12-05T09:38:30.169Z" + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -8822,7 +7735,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-11-18T04:42:29.394Z" + "updated_at": "2025-12-05T09:38:30.169Z" }, "rawHeaders": [], "responseIsBinary": false @@ -8947,7 +7860,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-11-18T04:58:06.490Z" + "updated_at": "2025-12-05T14:17:26.192Z" }, "rawHeaders": [], "responseIsBinary": false @@ -10167,7 +9080,7 @@ "subject": "deprecated" } ], - "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", + "client_id": "y47mfVuNz3nzK4VbATlDhYsU6sBHfq8e", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10187,21 +9100,12 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -10221,8 +9125,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "client_id": "qXCqK884hJUOYPhMMkXuFaoIlkDlIqsS", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10230,28 +9133,32 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -10271,7 +9178,8 @@ "subject": "deprecated" } ], - "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", + "allowed_origins": [], + "client_id": "tALNSCcv1RtuaFJdwZkpj8WW7Ai2wGwL", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10279,11 +9187,16 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { @@ -10312,7 +9225,7 @@ "subject": "deprecated" } ], - "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", + "client_id": "Ls1MLBy6XnrS6FICBpTgagxcvY6g4Ln9", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10331,14 +9244,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -10350,16 +9258,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -10369,7 +9278,7 @@ "subject": "deprecated" } ], - "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", + "client_id": "m0BppkTR5PJR9UBbJmhOcXQm8kUBi3mb", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10378,15 +9287,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -10394,9 +9300,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -10408,17 +9319,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -10428,7 +9338,7 @@ "subject": "deprecated" } ], - "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", + "client_id": "1oQC5ORWSgXf4D3muXm0JFSFfyBp0svZ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10437,12 +9347,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -10483,7 +9396,7 @@ "subject": "deprecated" } ], - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", + "client_id": "GRROzy1MZCZ9d84osY58JfLA3X02qtQL", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10507,7 +9420,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", + "path": "/api/v2/clients/y47mfVuNz3nzK4VbATlDhYsU6sBHfq8e", "body": "", "status": 204, "response": "", @@ -10517,7 +9430,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "path": "/api/v2/clients/tALNSCcv1RtuaFJdwZkpj8WW7Ai2wGwL", "body": "", "status": 204, "response": "", @@ -10527,7 +9440,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", + "path": "/api/v2/clients/qXCqK884hJUOYPhMMkXuFaoIlkDlIqsS", "body": "", "status": 204, "response": "", @@ -10537,7 +9450,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/17S8meqm0ImjMHCjjYwDbwrHOkApC382", + "path": "/api/v2/clients/Ls1MLBy6XnrS6FICBpTgagxcvY6g4Ln9", "body": "", "status": 204, "response": "", @@ -10547,7 +9460,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/HIzKdREbF957j3VNApECeIV6pViYy8q6", + "path": "/api/v2/clients/m0BppkTR5PJR9UBbJmhOcXQm8kUBi3mb", "body": "", "status": 204, "response": "", @@ -10557,7 +9470,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", + "path": "/api/v2/clients/1oQC5ORWSgXf4D3muXm0JFSFfyBp0svZ", "body": "", "status": 204, "response": "", @@ -10567,7 +9480,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", + "path": "/api/v2/clients/GRROzy1MZCZ9d84osY58JfLA3X02qtQL", "body": "", "status": 204, "response": "", @@ -10638,7 +9551,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy", + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10660,7 +9573,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/otp", + "path": "/api/v2/guardian/factors/email", "body": { "enabled": false }, @@ -10674,7 +9587,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/email", + "path": "/api/v2/guardian/factors/duo", "body": { "enabled": false }, @@ -10688,7 +9601,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/duo", + "path": "/api/v2/guardian/factors/webauthn-platform", "body": { "enabled": false }, @@ -10702,7 +9615,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/recovery-code", + "path": "/api/v2/guardian/factors/otp", "body": { "enabled": false }, @@ -10716,7 +9629,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/push-notification", + "path": "/api/v2/guardian/factors/webauthn-roaming", "body": { "enabled": false }, @@ -10730,7 +9643,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/recovery-code", "body": { "enabled": false }, @@ -10744,7 +9657,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", + "path": "/api/v2/guardian/factors/push-notification", "body": { "enabled": false }, @@ -10758,7 +9671,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-platform", + "path": "/api/v2/guardian/factors/sms", "body": { "enabled": false }, @@ -10831,7 +9744,7 @@ "response": { "actions": [ { - "id": "ada80236-a38c-477e-8607-57fb51c714f6", + "id": "0c33a5ff-8c26-44e6-9c95-78b980a40e12", "name": "My Custom Action", "supported_triggers": [ { @@ -10839,34 +9752,34 @@ "version": "v2" } ], - "created_at": "2025-11-18T04:42:09.263480298Z", - "updated_at": "2025-11-18T04:57:38.118595715Z", + "created_at": "2025-12-05T14:17:01.355911147Z", + "updated_at": "2025-12-05T14:17:01.372519072Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "built", "secrets": [], "current_version": { - "id": "885be92c-2489-4396-afac-4874030555f6", + "id": "7449cbf1-56ef-45a8-88fb-76e3da65a88c", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node18", "status": "BUILT", - "number": 6, - "build_time": "2025-11-18T04:57:38.957786004Z", - "created_at": "2025-11-18T04:57:38.852930623Z", - "updated_at": "2025-11-18T04:57:38.959853345Z" + "number": 1, + "build_time": "2025-12-05T14:17:02.387240600Z", + "created_at": "2025-12-05T14:17:02.267752368Z", + "updated_at": "2025-12-05T14:17:02.389468426Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "885be92c-2489-4396-afac-4874030555f6", + "id": "7449cbf1-56ef-45a8-88fb-76e3da65a88c", "deployed": true, - "number": 6, - "built_at": "2025-11-18T04:57:38.957786004Z", + "number": 1, + "built_at": "2025-12-05T14:17:02.387240600Z", "secrets": [], "status": "built", - "created_at": "2025-11-18T04:57:38.852930623Z", - "updated_at": "2025-11-18T04:57:38.959853345Z", + "created_at": "2025-12-05T14:17:02.267752368Z", + "updated_at": "2025-12-05T14:17:02.389468426Z", "runtime": "node18", "supported_triggers": [ { @@ -10887,7 +9800,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/actions/actions/ada80236-a38c-477e-8607-57fb51c714f6?force=true", + "path": "/api/v2/actions/actions/0c33a5ff-8c26-44e6-9c95-78b980a40e12?force=true", "body": "", "status": 204, "response": "", @@ -10907,6 +9820,34 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/breached-password-detection", + "body": { + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard" + }, + "status": 200, + "response": { + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard", + "stage": { + "pre-user-registration": { + "shields": [] + }, + "pre-change-password": { + "shields": [] + } + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -10966,43 +9907,15 @@ "max_attempts": 10 }, "status": 200, - "response": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 10 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/breached-password-detection", - "body": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard" - }, - "status": 200, - "response": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard", - "stage": { - "pre-user-registration": { - "shields": [] - }, - "pre-change-password": { - "shields": [] - } - } + "response": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 10 }, "rawHeaders": [], "responseIsBinary": false @@ -11100,7 +10013,7 @@ "subject": "deprecated" } ], - "client_id": "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy", + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11167,7 +10080,7 @@ "response": { "connections": [ { - "id": "con_gSK3HKh000WR2Yg5", + "id": "con_hZaTQt1ipndiAks3", "options": { "mfa": { "active": true, @@ -11204,7 +10117,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true, @@ -11219,6 +10133,12 @@ "strategy": "auth0", "name": "boo-baz-db-connection-test", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "boo-baz-db-connection-test" ], @@ -11238,7 +10158,7 @@ "response": { "connections": [ { - "id": "con_gSK3HKh000WR2Yg5", + "id": "con_hZaTQt1ipndiAks3", "options": { "mfa": { "active": true, @@ -11275,7 +10195,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true, @@ -11290,6 +10211,12 @@ "strategy": "auth0", "name": "boo-baz-db-connection-test", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "boo-baz-db-connection-test" ], @@ -11303,7 +10230,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_gSK3HKh000WR2Yg5/clients?take=50", + "path": "/api/v2/connections/con_hZaTQt1ipndiAks3/clients?take=50", "body": "", "status": 200, "response": { @@ -11315,7 +10242,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_gSK3HKh000WR2Yg5/clients?take=50", + "path": "/api/v2/connections/con_hZaTQt1ipndiAks3/clients?take=50", "body": "", "status": 200, "response": { @@ -11327,11 +10254,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/connections/con_gSK3HKh000WR2Yg5", + "path": "/api/v2/connections/con_hZaTQt1ipndiAks3", "body": "", "status": 202, "response": { - "deleted_at": "2025-11-18T04:58:22.501Z" + "deleted_at": "2025-12-05T14:17:40.094Z" }, "rawHeaders": [], "responseIsBinary": false @@ -11345,7 +10272,7 @@ "strategy": "auth0", "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy" + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" ], "is_domain_connection": false, "options": { @@ -11363,7 +10290,7 @@ }, "status": 201, "response": { - "id": "con_3yHvIURwH6gXdMEE", + "id": "con_CfDqv7jPXpFqETeK", "options": { "mfa": { "active": true, @@ -11374,7 +10301,8 @@ "brute_force_protection": true, "authentication_methods": { "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" }, "passkey": { "enabled": false @@ -11389,8 +10317,14 @@ "strategy": "auth0", "name": "Username-Password-Authentication", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "enabled_clients": [ - "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy", + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ], "realms": [ @@ -11409,7 +10343,7 @@ "response": { "connections": [ { - "id": "con_3yHvIURwH6gXdMEE", + "id": "con_CfDqv7jPXpFqETeK", "options": { "mfa": { "active": true, @@ -11427,7 +10361,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true @@ -11435,11 +10370,17 @@ "strategy": "auth0", "name": "Username-Password-Authentication", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "Username-Password-Authentication" ], "enabled_clients": [ - "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy", + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -11451,14 +10392,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_3yHvIURwH6gXdMEE/clients", + "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients", "body": [ { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "status": true }, { - "client_id": "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy", + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", "status": true } ], @@ -11560,7 +10501,7 @@ "subject": "deprecated" } ], - "client_id": "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy", + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11627,7 +10568,7 @@ "response": { "connections": [ { - "id": "con_TZft9UmXrtdJXHZN", + "id": "con_PDStfmy3MyTLMu1x", "options": { "email": true, "scope": [ @@ -11639,13 +10580,19 @@ "strategy": "google-oauth2", "name": "google-oauth2", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "google-oauth2" ], "enabled_clients": [] }, { - "id": "con_3yHvIURwH6gXdMEE", + "id": "con_CfDqv7jPXpFqETeK", "options": { "mfa": { "active": true, @@ -11663,7 +10610,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true @@ -11671,11 +10619,17 @@ "strategy": "auth0", "name": "Username-Password-Authentication", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "Username-Password-Authentication" ], "enabled_clients": [ - "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy", + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -11693,7 +10647,7 @@ "response": { "connections": [ { - "id": "con_TZft9UmXrtdJXHZN", + "id": "con_PDStfmy3MyTLMu1x", "options": { "email": true, "scope": [ @@ -11705,13 +10659,19 @@ "strategy": "google-oauth2", "name": "google-oauth2", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "google-oauth2" ], "enabled_clients": [] }, { - "id": "con_3yHvIURwH6gXdMEE", + "id": "con_CfDqv7jPXpFqETeK", "options": { "mfa": { "active": true, @@ -11729,7 +10689,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true @@ -11737,11 +10698,17 @@ "strategy": "auth0", "name": "Username-Password-Authentication", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "Username-Password-Authentication" ], "enabled_clients": [ - "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy", + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -11753,7 +10720,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN/clients?take=50", + "path": "/api/v2/connections/con_PDStfmy3MyTLMu1x/clients?take=50", "body": "", "status": 200, "response": { @@ -11765,7 +10732,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN/clients?take=50", + "path": "/api/v2/connections/con_PDStfmy3MyTLMu1x/clients?take=50", "body": "", "status": 200, "response": { @@ -11777,11 +10744,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN", + "path": "/api/v2/connections/con_PDStfmy3MyTLMu1x", "body": "", "status": 202, "response": { - "deleted_at": "2025-11-18T04:58:28.563Z" + "deleted_at": "2025-12-05T14:17:45.941Z" }, "rawHeaders": [], "responseIsBinary": false @@ -11913,7 +10880,7 @@ "subject": "deprecated" } ], - "client_id": "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy", + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12228,22 +11195,22 @@ "response": { "roles": [ { - "id": "rol_QuDH6eKysxE8ilL9", + "id": "rol_46SzzG1V7VRvdtq8", "name": "Admin", "description": "Can read and write things" }, { - "id": "rol_3OJzKOu3TsUKCvFO", + "id": "rol_RHscBFVFVGjF0XUF", "name": "Reader", "description": "Can only read things" }, { - "id": "rol_dqwrzyi9Bx9QmZ3E", + "id": "rol_kL3UG17fgNRrEKRx", "name": "read_only", "description": "Read Only" }, { - "id": "rol_tcKxqeYyc6Eqp7Jb", + "id": "rol_zSgDEbLTgZ2JAGIy", "name": "read_osnly", "description": "Readz Only" } @@ -12258,7 +11225,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_QuDH6eKysxE8ilL9/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_46SzzG1V7VRvdtq8/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -12273,7 +11240,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_QuDH6eKysxE8ilL9/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_46SzzG1V7VRvdtq8/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -12288,7 +11255,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_3OJzKOu3TsUKCvFO/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_RHscBFVFVGjF0XUF/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -12303,7 +11270,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_3OJzKOu3TsUKCvFO/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_RHscBFVFVGjF0XUF/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -12318,7 +11285,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_dqwrzyi9Bx9QmZ3E/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_kL3UG17fgNRrEKRx/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -12333,7 +11300,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_dqwrzyi9Bx9QmZ3E/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_kL3UG17fgNRrEKRx/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -12348,7 +11315,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_tcKxqeYyc6Eqp7Jb/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_zSgDEbLTgZ2JAGIy/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -12363,7 +11330,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_tcKxqeYyc6Eqp7Jb/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_zSgDEbLTgZ2JAGIy/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -12378,7 +11345,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/roles/rol_QuDH6eKysxE8ilL9", + "path": "/api/v2/roles/rol_46SzzG1V7VRvdtq8", "body": "", "status": 200, "response": {}, @@ -12388,7 +11355,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/roles/rol_dqwrzyi9Bx9QmZ3E", + "path": "/api/v2/roles/rol_RHscBFVFVGjF0XUF", "body": "", "status": 200, "response": {}, @@ -12398,7 +11365,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/roles/rol_3OJzKOu3TsUKCvFO", + "path": "/api/v2/roles/rol_kL3UG17fgNRrEKRx", "body": "", "status": 200, "response": {}, @@ -12408,7 +11375,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/roles/rol_tcKxqeYyc6Eqp7Jb", + "path": "/api/v2/roles/rol_zSgDEbLTgZ2JAGIy", "body": "", "status": 200, "response": {}, @@ -12424,12 +11391,12 @@ "response": { "organizations": [ { - "id": "org_JrXRxTbTrRdicEcf", + "id": "org_xFaZ9p68B4spMsY4", "name": "org2", "display_name": "Organization2" }, { - "id": "org_PCcwQ9qOcuJfWkEL", + "id": "org_QEYnCDUsFcZBfoaS", "name": "org1", "display_name": "Organization", "branding": { @@ -12537,7 +11504,7 @@ "subject": "deprecated" } ], - "client_id": "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy", + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12598,7 +11565,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_xFaZ9p68B4spMsY4/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -12613,7 +11580,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_xFaZ9p68B4spMsY4/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -12628,7 +11595,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_xFaZ9p68B4spMsY4/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -12643,7 +11610,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_xFaZ9p68B4spMsY4/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -12658,7 +11625,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/discovery-domains?take=50", + "path": "/api/v2/organizations/org_xFaZ9p68B4spMsY4/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -12670,7 +11637,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/discovery-domains?take=50", + "path": "/api/v2/organizations/org_xFaZ9p68B4spMsY4/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -12682,7 +11649,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_QEYnCDUsFcZBfoaS/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -12697,7 +11664,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_QEYnCDUsFcZBfoaS/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -12712,7 +11679,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_QEYnCDUsFcZBfoaS/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -12727,7 +11694,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_QEYnCDUsFcZBfoaS/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -12742,7 +11709,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/discovery-domains?take=50", + "path": "/api/v2/organizations/org_QEYnCDUsFcZBfoaS/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -12754,7 +11721,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/discovery-domains?take=50", + "path": "/api/v2/organizations/org_QEYnCDUsFcZBfoaS/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -12772,7 +11739,7 @@ "response": { "connections": [ { - "id": "con_3yHvIURwH6gXdMEE", + "id": "con_CfDqv7jPXpFqETeK", "options": { "mfa": { "active": true, @@ -12790,7 +11757,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true @@ -12798,11 +11766,17 @@ "strategy": "auth0", "name": "Username-Password-Authentication", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "Username-Password-Authentication" ], "enabled_clients": [ - "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy", + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -12811,157 +11785,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", - "body": "", - "status": 200, - "response": { - "total": 3, - "start": 0, - "limit": 100, - "clients": [ - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", - "is_first_party": true, - "oidc_conformant": true, - "sso_disabled": false, - "cross_origin_auth": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "cross_origin_authentication": true, - "allowed_clients": [], - "callbacks": [], - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials", - "implicit", - "authorization_code", - "refresh_token" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", - "callbacks": [], - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], - "is_first_party": true, - "name": "All Applications", - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -13203,7 +12026,158 @@ "update:connections_keys", "create:connections_keys" ], - "subject_type": "client" + "subject_type": "client" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "total": 3, + "start": 0, + "limit": 100, + "clients": [ + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Deploy CLI", + "is_first_party": true, + "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "cross_origin_authentication": true, + "allowed_clients": [], + "callbacks": [], + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials", + "implicit", + "authorization_code", + "refresh_token" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Default App", + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": true, + "callbacks": [], + "is_first_party": true, + "name": "All Applications", + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" + ], + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true } ] }, @@ -13213,7 +12187,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL", + "path": "/api/v2/organizations/org_QEYnCDUsFcZBfoaS", "body": "", "status": 204, "response": "", @@ -13223,7 +12197,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf", + "path": "/api/v2/organizations/org_xFaZ9p68B4spMsY4", "body": "", "status": 204, "response": "", @@ -13238,7 +12212,7 @@ "status": 200, "response": [ { - "id": "lst_0000000000025177", + "id": "lst_0000000000025429", "name": "Suspended DD Log Stream", "type": "datadog", "status": "active", @@ -13249,14 +12223,14 @@ "isPriority": false }, { - "id": "lst_0000000000025178", + "id": "lst_0000000000025430", "name": "Amazon EventBridge", "type": "eventbridge", "status": "active", "sink": { "awsAccountId": "123456789012", "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-c1366744-b33c-4125-b8c0-625b40865581/auth0.logs" + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-5c0e180e-b406-4da2-92eb-a6fa8507a291/auth0.logs" }, "filters": [ { @@ -13305,7 +12279,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/log-streams/lst_0000000000025177", + "path": "/api/v2/log-streams/lst_0000000000025429", "body": "", "status": 204, "response": "", @@ -13315,7 +12289,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/log-streams/lst_0000000000025178", + "path": "/api/v2/log-streams/lst_0000000000025430", "body": "", "status": 204, "response": "", @@ -14607,7 +13581,7 @@ "subject": "deprecated" } ], - "client_id": "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy", + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14637,7 +13611,7 @@ "response": { "connections": [ { - "id": "con_3yHvIURwH6gXdMEE", + "id": "con_CfDqv7jPXpFqETeK", "options": { "mfa": { "active": true, @@ -14655,7 +13629,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true @@ -14663,11 +13638,17 @@ "strategy": "auth0", "name": "Username-Password-Authentication", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "Username-Password-Authentication" ], "enabled_clients": [ - "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy", + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -14679,13 +13660,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_3yHvIURwH6gXdMEE/clients?take=50", + "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy" + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -14698,13 +13679,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_3yHvIURwH6gXdMEE/clients?take=50", + "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy" + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -14723,7 +13704,7 @@ "response": { "connections": [ { - "id": "con_3yHvIURwH6gXdMEE", + "id": "con_CfDqv7jPXpFqETeK", "options": { "mfa": { "active": true, @@ -14741,7 +13722,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true @@ -14749,11 +13731,17 @@ "strategy": "auth0", "name": "Username-Password-Authentication", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "Username-Password-Authentication" ], "enabled_clients": [ - "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy", + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -14870,7 +13858,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/verify_email_by_code", + "path": "/api/v2/email-templates/password_reset", "body": "", "status": 404, "response": { @@ -14885,7 +13873,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/enrollment_email", + "path": "/api/v2/email-templates/blocked_account", "body": "", "status": 404, "response": { @@ -14900,14 +13888,18 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/change_password", + "path": "/api/v2/email-templates/welcome_email", "body": "", - "status": 404, + "status": 200, "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "from": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", + "syntax": "liquid", + "urlLifetimeInSeconds": 3600, + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -14915,7 +13907,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email", + "path": "/api/v2/email-templates/change_password", "body": "", "status": 404, "response": { @@ -14930,7 +13922,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email_by_code", + "path": "/api/v2/email-templates/user_invitation", "body": "", "status": 404, "response": { @@ -14960,7 +13952,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/password_reset", + "path": "/api/v2/email-templates/verify_email_by_code", "body": "", "status": 404, "response": { @@ -14975,7 +13967,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/blocked_account", + "path": "/api/v2/email-templates/reset_email", "body": "", "status": 404, "response": { @@ -14990,7 +13982,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/user_invitation", + "path": "/api/v2/email-templates/enrollment_email", "body": "", "status": 404, "response": { @@ -15005,18 +13997,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/welcome_email", + "path": "/api/v2/email-templates/mfa_oob_code", "body": "", - "status": 200, + "status": 404, "response": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" }, "rawHeaders": [], "responseIsBinary": false @@ -15024,7 +14012,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/mfa_oob_code", + "path": "/api/v2/email-templates/async_approval", "body": "", "status": 404, "response": { @@ -15039,7 +14027,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/async_approval", + "path": "/api/v2/email-templates/reset_email_by_code", "body": "", "status": 404, "response": { @@ -15558,7 +14546,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/custom-text/en", + "path": "/api/v2/prompts/login/custom-text/en", "body": "", "status": 200, "response": {}, @@ -15568,7 +14556,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-password/custom-text/en", + "path": "/api/v2/prompts/login-id/custom-text/en", "body": "", "status": 200, "response": {}, @@ -15578,7 +14566,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login/custom-text/en", + "path": "/api/v2/prompts/login-password/custom-text/en", "body": "", "status": 200, "response": {}, @@ -15588,7 +14576,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup/custom-text/en", + "path": "/api/v2/prompts/login-passwordless/custom-text/en", "body": "", "status": 200, "response": {}, @@ -15598,7 +14586,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-passwordless/custom-text/en", + "path": "/api/v2/prompts/login-email-verification/custom-text/en", "body": "", "status": 200, "response": {}, @@ -15608,7 +14596,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-email-verification/custom-text/en", + "path": "/api/v2/prompts/signup/custom-text/en", "body": "", "status": 200, "response": {}, @@ -15618,7 +14606,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup-password/custom-text/en", + "path": "/api/v2/prompts/signup-id/custom-text/en", "body": "", "status": 200, "response": {}, @@ -15628,7 +14616,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup-id/custom-text/en", + "path": "/api/v2/prompts/signup-password/custom-text/en", "body": "", "status": 200, "response": {}, @@ -15648,7 +14636,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/phone-identifier-challenge/custom-text/en", + "path": "/api/v2/prompts/email-identifier-challenge/custom-text/en", "body": "", "status": 200, "response": {}, @@ -15658,7 +14646,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/email-identifier-challenge/custom-text/en", + "path": "/api/v2/prompts/phone-identifier-challenge/custom-text/en", "body": "", "status": 200, "response": {}, @@ -15745,6 +14733,16 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/prompts/mfa-phone/custom-text/en", + "body": "", + "status": 200, + "response": {}, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -15808,7 +14806,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-phone/custom-text/en", + "path": "/api/v2/prompts/device-flow/custom-text/en", "body": "", "status": 200, "response": {}, @@ -15818,7 +14816,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/device-flow/custom-text/en", + "path": "/api/v2/prompts/email-verification/custom-text/en", "body": "", "status": 200, "response": {}, @@ -15828,7 +14826,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/email-verification/custom-text/en", + "path": "/api/v2/prompts/email-otp-challenge/custom-text/en", "body": "", "status": 200, "response": {}, @@ -15838,7 +14836,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/email-otp-challenge/custom-text/en", + "path": "/api/v2/prompts/organizations/custom-text/en", "body": "", "status": 200, "response": {}, @@ -15858,7 +14856,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/organizations/custom-text/en", + "path": "/api/v2/prompts/common/custom-text/en", "body": "", "status": 200, "response": {}, @@ -15868,7 +14866,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/common/custom-text/en", + "path": "/api/v2/prompts/captcha/custom-text/en", "body": "", "status": 200, "response": {}, @@ -15878,7 +14876,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/passkeys/custom-text/en", + "path": "/api/v2/prompts/brute-force-protection/custom-text/en", "body": "", "status": 200, "response": {}, @@ -15888,7 +14886,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/captcha/custom-text/en", + "path": "/api/v2/prompts/passkeys/custom-text/en", "body": "", "status": 200, "response": {}, @@ -15898,7 +14896,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/partials", + "path": "/api/v2/prompts/login/partials", "body": "", "status": 200, "response": {}, @@ -15908,7 +14906,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login/partials", + "path": "/api/v2/prompts/login-password/partials", "body": "", "status": 200, "response": {}, @@ -15918,7 +14916,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-password/partials", + "path": "/api/v2/prompts/login-id/partials", "body": "", "status": 200, "response": {}, @@ -15938,7 +14936,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup-id/partials", + "path": "/api/v2/prompts/signup/partials", "body": "", "status": 200, "response": {}, @@ -15948,7 +14946,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup/partials", + "path": "/api/v2/prompts/signup-id/partials", "body": "", "status": 200, "response": {}, @@ -15986,23 +14984,12 @@ "status": 200, "response": { "triggers": [ - { - "id": "post-login", - "version": "v2", - "status": "DEPRECATED", - "runtimes": [ - "node12", - "node18" - ], - "default_runtime": "node16", - "binding_policy": "trigger-bound", - "compatible_triggers": [] - }, { "id": "post-login", "version": "v3", "status": "CURRENT", "runtimes": [ + "node12", "node18-actions", "node22" ], @@ -16016,20 +15003,18 @@ ] }, { - "id": "credentials-exchange", + "id": "post-login", "version": "v2", - "status": "CURRENT", + "status": "DEPRECATED", "runtimes": [ - "node12", - "node18-actions", - "node22" + "node18" ], - "default_runtime": "node22", + "default_runtime": "node16", "binding_policy": "trigger-bound", "compatible_triggers": [] }, { - "id": "pre-user-registration", + "id": "credentials-exchange", "version": "v2", "status": "CURRENT", "runtimes": [ @@ -16041,7 +15026,7 @@ "compatible_triggers": [] }, { - "id": "post-user-registration", + "id": "pre-user-registration", "version": "v1", "status": "DEPRECATED", "runtimes": [ @@ -16051,11 +15036,24 @@ "binding_policy": "trigger-bound", "compatible_triggers": [] }, + { + "id": "pre-user-registration", + "version": "v2", + "status": "CURRENT", + "runtimes": [ + "node18-actions", + "node22" + ], + "default_runtime": "node22", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, { "id": "post-user-registration", "version": "v2", "status": "CURRENT", "runtimes": [ + "node12", "node18-actions", "node22" ], @@ -16435,7 +15433,7 @@ "subject": "deprecated" } ], - "client_id": "RKfFTGiVl5FTSXkp7hJfJfd16GLBCxgy", + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -16562,23 +15560,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/attack-protection/bot-detection", - "body": "", - "status": 200, - "response": { - "challenge_password_policy": "never", - "challenge_passwordless_policy": "never", - "challenge_password_reset_policy": "never", - "allowlist": [], - "bot_detection_level": "medium", - "monitoring_mode_enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -16614,6 +15595,23 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/attack-protection/bot-detection", + "body": "", + "status": 200, + "response": { + "challenge_password_policy": "never", + "challenge_passwordless_policy": "never", + "challenge_password_reset_policy": "never", + "allowlist": [], + "bot_detection_level": "medium", + "monitoring_mode_enabled": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -16680,7 +15678,7 @@ "name": "Blank-form", "flow_count": 0, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-11-18T04:58:06.490Z" + "updated_at": "2025-12-05T14:17:26.192Z" } ] }, @@ -16751,7 +15749,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-11-18T04:58:06.490Z" + "updated_at": "2025-12-05T14:17:26.192Z" }, "rawHeaders": [], "responseIsBinary": false @@ -16860,7 +15858,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-11-18T04:57:54.740Z", + "updated_at": "2025-12-05T14:17:19.637Z", "branding": { "colors": { "primary": "#19aecc" @@ -16912,7 +15910,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-11-18T04:57:40.114Z", + "updated_at": "2025-12-05T14:17:03.449Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] diff --git a/test/e2e/recordings/should-deploy-without-deleting-resources-if-AUTH0_ALLOW_DELETE-is-false.json b/test/e2e/recordings/should-deploy-without-deleting-resources-if-AUTH0_ALLOW_DELETE-is-false.json index 868a6b633..ab0cd0cb7 100644 --- a/test/e2e/recordings/should-deploy-without-deleting-resources-if-AUTH0_ALLOW_DELETE-is-false.json +++ b/test/e2e/recordings/should-deploy-without-deleting-resources-if-AUTH0_ALLOW_DELETE-is-false.json @@ -1264,9 +1264,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Default App", "callbacks": [], "cross_origin_auth": false, @@ -1290,7 +1287,7 @@ "subject": "deprecated" } ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1395,7 +1392,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1419,20 +1416,14 @@ "method": "POST", "path": "/api/v2/clients", "body": { - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "allowed_origins": [], - "app_type": "regular_web", - "callbacks": [], - "client_aliases": [], - "client_metadata": {}, + "name": "Quickstarts API (Test Application)", + "app_type": "non_interactive", + "client_metadata": { + "foo": "bar" + }, "cross_origin_auth": false, "custom_login_page_on": true, "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], "is_first_party": true, @@ -1442,14 +1433,6 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -1461,29 +1444,19 @@ "rotation_type": "non-rotating" }, "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post", - "web_origins": [] + "token_endpoint_auth_method": "client_secret_post" }, "status": 201, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -1505,8 +1478,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "allowed_origins": [], - "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1514,16 +1486,11 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, "rawHeaders": [], @@ -1534,14 +1501,20 @@ "method": "POST", "path": "/api/v2/clients", "body": { - "name": "Quickstarts API (Test Application)", - "app_type": "non_interactive", - "client_metadata": { - "foo": "bar" - }, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "allowed_origins": [], + "app_type": "regular_web", + "callbacks": [], + "client_aliases": [], + "client_metadata": {}, "cross_origin_auth": false, "custom_login_page_on": true, "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], "is_first_party": true, @@ -1551,6 +1524,14 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -1562,19 +1543,29 @@ "rotation_type": "non-rotating" }, "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post" + "token_endpoint_auth_method": "client_secret_post", + "web_origins": [] }, "status": 201, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -1596,7 +1587,8 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", + "allowed_origins": [], + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1604,11 +1596,16 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, "rawHeaders": [], @@ -1675,7 +1672,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1781,7 +1778,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1901,7 +1898,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", + "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2009,7 +2006,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2059,7 +2056,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/email", + "path": "/api/v2/guardian/factors/webauthn-platform", "body": { "enabled": false }, @@ -2115,7 +2112,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-platform", + "path": "/api/v2/guardian/factors/email", "body": { "enabled": false }, @@ -2230,7 +2227,7 @@ }, "status": 201, "response": { - "id": "ada80236-a38c-477e-8607-57fb51c714f6", + "id": "4273221d-f20e-44e6-aa9d-d45702782e4e", "name": "My Custom Action", "supported_triggers": [ { @@ -2238,8 +2235,8 @@ "version": "v2" } ], - "created_at": "2025-11-18T04:42:09.263480298Z", - "updated_at": "2025-11-18T04:42:09.276813948Z", + "created_at": "2025-12-05T14:18:53.100690661Z", + "updated_at": "2025-12-05T14:18:53.114050616Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", @@ -2259,7 +2256,7 @@ "response": { "actions": [ { - "id": "ada80236-a38c-477e-8607-57fb51c714f6", + "id": "4273221d-f20e-44e6-aa9d-d45702782e4e", "name": "My Custom Action", "supported_triggers": [ { @@ -2267,8 +2264,8 @@ "version": "v2" } ], - "created_at": "2025-11-18T04:42:09.263480298Z", - "updated_at": "2025-11-18T04:42:09.276813948Z", + "created_at": "2025-12-05T14:18:53.100690661Z", + "updated_at": "2025-12-05T14:18:53.114050616Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", @@ -2286,19 +2283,19 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "POST", - "path": "/api/v2/actions/actions/ada80236-a38c-477e-8607-57fb51c714f6/deploy", + "path": "/api/v2/actions/actions/4273221d-f20e-44e6-aa9d-d45702782e4e/deploy", "body": "", "status": 200, "response": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "dc9201b2-f56a-4205-b914-75d5330688b1", + "id": "6a213299-32ce-486f-addb-5864d95ac3d9", "deployed": false, "number": 1, "secrets": [], "status": "built", - "created_at": "2025-11-18T04:42:09.938084833Z", - "updated_at": "2025-11-18T04:42:09.938084833Z", + "created_at": "2025-12-05T14:18:53.780088164Z", + "updated_at": "2025-12-05T14:18:53.780088164Z", "runtime": "node18", "supported_triggers": [ { @@ -2307,7 +2304,7 @@ } ], "action": { - "id": "ada80236-a38c-477e-8607-57fb51c714f6", + "id": "4273221d-f20e-44e6-aa9d-d45702782e4e", "name": "My Custom Action", "supported_triggers": [ { @@ -2315,14 +2312,60 @@ "version": "v2" } ], - "created_at": "2025-11-18T04:42:09.263480298Z", - "updated_at": "2025-11-18T04:42:09.263480298Z", + "created_at": "2025-12-05T14:18:53.100690661Z", + "updated_at": "2025-12-05T14:18:53.100690661Z", "all_changes_deployed": false } }, "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/suspicious-ip-throttling", + "body": { + "enabled": true, + "shields": [ + "admin_notification" + ], + "allowlist": [ + "127.0.0.1" + ], + "stage": { + "pre-login": { + "max_attempts": 66, + "rate": 864000 + }, + "pre-user-registration": { + "max_attempts": 66, + "rate": 1200 + } + } + }, + "status": 200, + "response": { + "enabled": true, + "shields": [ + "admin_notification" + ], + "allowlist": [ + "127.0.0.1" + ], + "stage": { + "pre-login": { + "max_attempts": 66, + "rate": 864000 + }, + "pre-user-registration": { + "max_attempts": 66, + "rate": 1200 + } + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -2379,52 +2422,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/suspicious-ip-throttling", - "body": { - "enabled": true, - "shields": [ - "admin_notification" - ], - "allowlist": [ - "127.0.0.1" - ], - "stage": { - "pre-login": { - "max_attempts": 66, - "rate": 864000 - }, - "pre-user-registration": { - "max_attempts": 66, - "rate": 1200 - } - } - }, - "status": 200, - "response": { - "enabled": true, - "shields": [ - "admin_notification" - ], - "allowlist": [ - "127.0.0.1" - ], - "stage": { - "pre-login": { - "max_attempts": 66, - "rate": 864000 - }, - "pre-user-registration": { - "max_attempts": 66, - "rate": 1200 - } - } - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -2452,7 +2449,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-11-18T04:41:07.750Z", + "updated_at": "2025-12-05T14:17:03.449Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] @@ -2497,7 +2494,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-11-18T04:42:10.956Z", + "updated_at": "2025-12-05T14:18:54.912Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" }, "rawHeaders": [], @@ -2561,9 +2558,9 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/user-attribute-profiles/uap_1csDj3sAVu6n5eTzLw6XZg", + "path": "/api/v2/user-attribute-profiles/uap_1csDj3szFsgxGS1oTZTdFm", "body": { - "name": "test-user-attribute-profile", + "name": "test-user-attribute-profile-2", "user_attributes": { "email": { "description": "Email of the User", @@ -2579,8 +2576,8 @@ }, "status": 200, "response": { - "id": "uap_1csDj3sAVu6n5eTzLw6XZg", - "name": "test-user-attribute-profile", + "id": "uap_1csDj3szFsgxGS1oTZTdFm", + "name": "test-user-attribute-profile-2", "user_id": { "oidc_mapping": "sub", "saml_mapping": [ @@ -2605,9 +2602,9 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/user-attribute-profiles/uap_1csDj3szFsgxGS1oTZTdFm", + "path": "/api/v2/user-attribute-profiles/uap_1csDj3sAVu6n5eTzLw6XZg", "body": { - "name": "test-user-attribute-profile-2", + "name": "test-user-attribute-profile", "user_attributes": { "email": { "description": "Email of the User", @@ -2623,8 +2620,8 @@ }, "status": 200, "response": { - "id": "uap_1csDj3szFsgxGS1oTZTdFm", - "name": "test-user-attribute-profile-2", + "id": "uap_1csDj3sAVu6n5eTzLw6XZg", + "name": "test-user-attribute-profile", "user_id": { "oidc_mapping": "sub", "saml_mapping": [ @@ -2716,9 +2713,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Default App", "callbacks": [], "cross_origin_auth": false, @@ -2742,7 +2736,7 @@ "subject": "deprecated" } ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2795,7 +2789,7 @@ "subject": "deprecated" } ], - "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2815,21 +2809,12 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -2849,8 +2834,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2858,32 +2842,36 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, "token_lifetime": 31557600, @@ -2899,7 +2887,8 @@ "subject": "deprecated" } ], - "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", + "allowed_origins": [], + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2907,11 +2896,16 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { @@ -2940,7 +2934,7 @@ "subject": "deprecated" } ], - "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2959,14 +2953,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -2978,16 +2967,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -2997,7 +2987,7 @@ "subject": "deprecated" } ], - "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3006,15 +2996,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -3022,9 +3009,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -3036,17 +3028,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -3056,7 +3047,7 @@ "subject": "deprecated" } ], - "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", + "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3065,12 +3056,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -3111,7 +3105,7 @@ "subject": "deprecated" } ], - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3178,7 +3172,7 @@ "response": { "connections": [ { - "id": "con_YQIQ8h72LqqSXD75", + "id": "con_CfDqv7jPXpFqETeK", "options": { "mfa": { "active": true, @@ -3196,7 +3190,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true @@ -3204,12 +3199,18 @@ "strategy": "auth0", "name": "Username-Password-Authentication", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -3226,7 +3227,7 @@ "response": { "connections": [ { - "id": "con_YQIQ8h72LqqSXD75", + "id": "con_CfDqv7jPXpFqETeK", "options": { "mfa": { "active": true, @@ -3244,7 +3245,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true @@ -3252,12 +3254,18 @@ "strategy": "auth0", "name": "Username-Password-Authentication", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -3268,16 +3276,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75/clients?take=50", + "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" }, { - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" } ] }, @@ -3287,16 +3295,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75/clients?take=50", + "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" }, { - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" } ] }, @@ -3311,8 +3319,8 @@ "name": "boo-baz-db-connection-test", "strategy": "auth0", "enabled_clients": [ - "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", - "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" ], "is_domain_connection": false, "options": { @@ -3356,7 +3364,7 @@ }, "status": 201, "response": { - "id": "con_gSK3HKh000WR2Yg5", + "id": "con_bBSD5AQUW0Q5aLuE", "options": { "mfa": { "active": true, @@ -3393,7 +3401,8 @@ "enabledDatabaseCustomization": true, "authentication_methods": { "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" }, "passkey": { "enabled": false @@ -3408,9 +3417,15 @@ "strategy": "auth0", "name": "boo-baz-db-connection-test", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "enabled_clients": [ - "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", - "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" ], "realms": [ "boo-baz-db-connection-test" @@ -3428,7 +3443,7 @@ "response": { "connections": [ { - "id": "con_gSK3HKh000WR2Yg5", + "id": "con_bBSD5AQUW0Q5aLuE", "options": { "mfa": { "active": true, @@ -3465,7 +3480,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true, @@ -3480,12 +3496,18 @@ "strategy": "auth0", "name": "boo-baz-db-connection-test", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "boo-baz-db-connection-test" ], "enabled_clients": [ - "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", - "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" ] } ] @@ -3496,14 +3518,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_gSK3HKh000WR2Yg5/clients", + "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients", "body": [ { - "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", "status": true }, { - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", "status": true } ], @@ -3582,9 +3604,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Default App", "callbacks": [], "cross_origin_auth": false, @@ -3608,7 +3627,7 @@ "subject": "deprecated" } ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3661,7 +3680,7 @@ "subject": "deprecated" } ], - "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3681,21 +3700,12 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -3715,8 +3725,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3724,28 +3733,32 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -3765,7 +3778,8 @@ "subject": "deprecated" } ], - "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", + "allowed_origins": [], + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3773,11 +3787,16 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { @@ -3806,7 +3825,7 @@ "subject": "deprecated" } ], - "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3825,14 +3844,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -3844,16 +3858,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -3863,7 +3878,7 @@ "subject": "deprecated" } ], - "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3872,15 +3887,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -3888,9 +3900,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -3902,17 +3919,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -3922,7 +3938,7 @@ "subject": "deprecated" } ], - "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", + "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3931,12 +3947,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -3977,7 +3996,7 @@ "subject": "deprecated" } ], - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4044,7 +4063,7 @@ "response": { "connections": [ { - "id": "con_gSK3HKh000WR2Yg5", + "id": "con_bBSD5AQUW0Q5aLuE", "options": { "mfa": { "active": true, @@ -4081,7 +4100,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true, @@ -4096,37 +4116,22 @@ "strategy": "auth0", "name": "boo-baz-db-connection-test", "is_domain_connection": false, - "realms": [ - "boo-baz-db-connection-test" - ], - "enabled_clients": [ - "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", - "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" - ] - }, - { - "id": "con_TZft9UmXrtdJXHZN", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, "realms": [ - "google-oauth2" + "boo-baz-db-connection-test" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" ] }, { - "id": "con_YQIQ8h72LqqSXD75", + "id": "con_CfDqv7jPXpFqETeK", "options": { "mfa": { "active": true, @@ -4144,7 +4149,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true @@ -4152,12 +4158,18 @@ "strategy": "auth0", "name": "Username-Password-Authentication", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -4174,7 +4186,7 @@ "response": { "connections": [ { - "id": "con_gSK3HKh000WR2Yg5", + "id": "con_bBSD5AQUW0Q5aLuE", "options": { "mfa": { "active": true, @@ -4211,7 +4223,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true, @@ -4226,37 +4239,22 @@ "strategy": "auth0", "name": "boo-baz-db-connection-test", "is_domain_connection": false, - "realms": [ - "boo-baz-db-connection-test" - ], - "enabled_clients": [ - "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", - "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" - ] - }, - { - "id": "con_TZft9UmXrtdJXHZN", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, "realms": [ - "google-oauth2" + "boo-baz-db-connection-test" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" ] }, { - "id": "con_YQIQ8h72LqqSXD75", + "id": "con_CfDqv7jPXpFqETeK", "options": { "mfa": { "active": true, @@ -4274,7 +4272,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true @@ -4282,12 +4281,18 @@ "strategy": "auth0", "name": "Username-Password-Authentication", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -4297,50 +4302,14 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ - { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - }, - { - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ - { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - }, - { - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN", + "method": "POST", + "path": "/api/v2/connections", "body": { + "name": "google-oauth2", + "strategy": "google-oauth2", "enabled_clients": [ - "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", - "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" + "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" ], "is_domain_connection": false, "options": { @@ -4352,9 +4321,9 @@ "profile": true } }, - "status": 200, + "status": 201, "response": { - "id": "con_TZft9UmXrtdJXHZN", + "id": "con_yGZ6rzfkdR6mMBoE", "options": { "email": true, "scope": [ @@ -4366,9 +4335,15 @@ "strategy": "google-oauth2", "name": "google-oauth2", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "enabled_clients": [ - "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", - "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" ], "realms": [ "google-oauth2" @@ -4377,17 +4352,57 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections?take=1&name=google-oauth2&include_fields=true", + "body": "", + "status": 200, + "response": { + "connections": [ + { + "id": "con_yGZ6rzfkdR6mMBoE", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + }, + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "google-oauth2" + ], + "enabled_clients": [ + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" + ] + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN/clients", + "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients", "body": [ { - "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", "status": true }, { - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", "status": true } ], @@ -4503,9 +4518,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Default App", "callbacks": [], "cross_origin_auth": false, @@ -4529,7 +4541,7 @@ "subject": "deprecated" } ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4582,7 +4594,7 @@ "subject": "deprecated" } ], - "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4602,21 +4614,12 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -4636,8 +4639,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4645,28 +4647,32 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -4686,7 +4692,8 @@ "subject": "deprecated" } ], - "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", + "allowed_origins": [], + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4694,11 +4701,16 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { @@ -4727,7 +4739,7 @@ "subject": "deprecated" } ], - "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4746,14 +4758,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -4765,16 +4772,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -4784,7 +4792,7 @@ "subject": "deprecated" } ], - "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4793,15 +4801,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -4809,9 +4814,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -4823,17 +4833,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -4843,7 +4852,7 @@ "subject": "deprecated" } ], - "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", + "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4852,12 +4861,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -4898,7 +4910,7 @@ "subject": "deprecated" } ], - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5209,7 +5221,7 @@ "method": "POST", "path": "/api/v2/client-grants", "body": { - "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -5346,8 +5358,8 @@ }, "status": 201, "response": { - "id": "cgr_9BAlRXJOVpDaB7eR", - "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", + "id": "cgr_ReJeayDzA8FTvFPY", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -5491,7 +5503,7 @@ "method": "POST", "path": "/api/v2/client-grants", "body": { - "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -5628,8 +5640,8 @@ }, "status": 201, "response": { - "id": "cgr_3AYjjoZPrtNXxpUX", - "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", + "id": "cgr_JYmQHwQEXGDCc53P", + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -5788,14 +5800,14 @@ "method": "POST", "path": "/api/v2/roles", "body": { - "name": "Reader", - "description": "Can only read things" + "name": "Admin", + "description": "Can read and write things" }, "status": 200, "response": { - "id": "rol_3OJzKOu3TsUKCvFO", - "name": "Reader", - "description": "Can only read things" + "id": "rol_EH7ASyHIXKqKPc4X", + "name": "Admin", + "description": "Can read and write things" }, "rawHeaders": [], "responseIsBinary": false @@ -5805,14 +5817,14 @@ "method": "POST", "path": "/api/v2/roles", "body": { - "name": "Admin", - "description": "Can read and write things" + "name": "Reader", + "description": "Can only read things" }, "status": 200, "response": { - "id": "rol_QuDH6eKysxE8ilL9", - "name": "Admin", - "description": "Can read and write things" + "id": "rol_WHMW5tI8GYuTShEL", + "name": "Reader", + "description": "Can only read things" }, "rawHeaders": [], "responseIsBinary": false @@ -5827,7 +5839,7 @@ }, "status": 200, "response": { - "id": "rol_dqwrzyi9Bx9QmZ3E", + "id": "rol_dkoJYFPEbm4fBQUa", "name": "read_only", "description": "Read Only" }, @@ -5844,7 +5856,7 @@ }, "status": 200, "response": { - "id": "rol_tcKxqeYyc6Eqp7Jb", + "id": "rol_6mNIPtAC2wBSBD7S", "name": "read_osnly", "description": "Readz Only" }, @@ -5880,7 +5892,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-11-18T04:41:17.205Z", + "updated_at": "2025-12-05T14:17:19.637Z", "branding": { "colors": { "primary": "#19aecc" @@ -5956,7 +5968,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-11-18T04:42:23.144Z", + "updated_at": "2025-12-05T14:19:10.944Z", "branding": { "colors": { "primary": "#19aecc" @@ -6020,6 +6032,18 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations?take=50", + "body": "", + "status": 200, + "response": { + "organizations": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -6090,9 +6114,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Default App", "callbacks": [], "cross_origin_auth": false, @@ -6116,7 +6137,7 @@ "subject": "deprecated" } ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6169,7 +6190,7 @@ "subject": "deprecated" } ], - "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6189,21 +6210,12 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -6223,8 +6235,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6232,28 +6243,32 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -6273,7 +6288,8 @@ "subject": "deprecated" } ], - "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", + "allowed_origins": [], + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6281,11 +6297,16 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { @@ -6314,7 +6335,7 @@ "subject": "deprecated" } ], - "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6333,14 +6354,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -6352,16 +6368,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -6371,7 +6388,7 @@ "subject": "deprecated" } ], - "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6380,15 +6397,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -6396,9 +6410,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -6410,17 +6429,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -6430,7 +6448,7 @@ "subject": "deprecated" } ], - "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", + "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6439,12 +6457,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -6485,7 +6506,7 @@ "subject": "deprecated" } ], - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6543,18 +6564,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations?take=50", - "body": "", - "status": 200, - "response": { - "organizations": [] - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -6564,7 +6573,7 @@ "response": { "connections": [ { - "id": "con_gSK3HKh000WR2Yg5", + "id": "con_bBSD5AQUW0Q5aLuE", "options": { "mfa": { "active": true, @@ -6601,7 +6610,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true, @@ -6616,16 +6626,22 @@ "strategy": "auth0", "name": "boo-baz-db-connection-test", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "boo-baz-db-connection-test" ], "enabled_clients": [ - "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", - "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" ] }, { - "id": "con_TZft9UmXrtdJXHZN", + "id": "con_yGZ6rzfkdR6mMBoE", "options": { "email": true, "scope": [ @@ -6637,16 +6653,22 @@ "strategy": "google-oauth2", "name": "google-oauth2", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "google-oauth2" ], "enabled_clients": [ - "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", - "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" ] }, { - "id": "con_YQIQ8h72LqqSXD75", + "id": "con_CfDqv7jPXpFqETeK", "options": { "mfa": { "active": true, @@ -6664,7 +6686,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true @@ -6672,12 +6695,18 @@ "strategy": "auth0", "name": "Username-Password-Authentication", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -6694,8 +6723,8 @@ "response": { "client_grants": [ { - "id": "cgr_3AYjjoZPrtNXxpUX", - "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", + "id": "cgr_JYmQHwQEXGDCc53P", + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -6832,8 +6861,8 @@ "subject_type": "client" }, { - "id": "cgr_9BAlRXJOVpDaB7eR", - "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", + "id": "cgr_ReJeayDzA8FTvFPY", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -7279,9 +7308,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Default App", "callbacks": [], "cross_origin_auth": false, @@ -7305,7 +7331,7 @@ "subject": "deprecated" } ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7358,7 +7384,7 @@ "subject": "deprecated" } ], - "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7378,21 +7404,12 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -7412,8 +7429,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7421,28 +7437,32 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -7462,7 +7482,8 @@ "subject": "deprecated" } ], - "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", + "allowed_origins": [], + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7470,11 +7491,16 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { @@ -7503,7 +7529,7 @@ "subject": "deprecated" } ], - "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7522,14 +7548,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -7541,16 +7562,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -7560,7 +7582,7 @@ "subject": "deprecated" } ], - "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7569,15 +7591,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -7585,9 +7604,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -7599,17 +7623,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -7619,7 +7642,7 @@ "subject": "deprecated" } ], - "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", + "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7628,12 +7651,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -7674,7 +7700,7 @@ "subject": "deprecated" } ], - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7732,23 +7758,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/organizations", - "body": { - "name": "org2", - "display_name": "Organization2" - }, - "status": 201, - "response": { - "id": "org_JrXRxTbTrRdicEcf", - "display_name": "Organization2", - "name": "org2" - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "POST", @@ -7765,7 +7774,7 @@ }, "status": 201, "response": { - "id": "org_PCcwQ9qOcuJfWkEL", + "id": "org_fIRF1it8cTOyf2yS", "display_name": "Organization", "name": "org1", "branding": { @@ -7778,6 +7787,23 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "POST", + "path": "/api/v2/organizations", + "body": { + "name": "org2", + "display_name": "Organization2" + }, + "status": 201, + "response": { + "id": "org_hWOYWXtnxIpJ0MX3", + "display_name": "Organization2", + "name": "org2" + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -7802,7 +7828,7 @@ }, "status": 200, "response": { - "id": "lst_0000000000025177", + "id": "lst_0000000000025431", "name": "Suspended DD Log Stream", "type": "datadog", "status": "active", @@ -7867,14 +7893,14 @@ }, "status": 200, "response": { - "id": "lst_0000000000025178", + "id": "lst_0000000000025432", "name": "Amazon EventBridge", "type": "eventbridge", "status": "active", "sink": { "awsAccountId": "123456789012", "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-c1366744-b33c-4125-b8c0-625b40865581/auth0.logs" + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-84b807b2-8a87-4d4b-87eb-ff1b56370b3a/auth0.logs" }, "filters": [ { @@ -7937,22 +7963,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, - "total": 1, - "forms": [ - { - "id": "ap_6JUSCU7qq1CravnoU6d6jr", - "name": "Blank-form", - "flow_count": 0, - "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-11-18T04:41:25.239Z" - } - ] + "total": 0, + "flows": [] }, "rawHeaders": [], "responseIsBinary": false @@ -7960,14 +7978,22 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, - "total": 0, - "flows": [] + "total": 1, + "forms": [ + { + "id": "ap_6JUSCU7qq1CravnoU6d6jr", + "name": "Blank-form", + "flow_count": 0, + "created_at": "2024-11-26T11:58:18.187Z", + "updated_at": "2025-12-05T14:17:26.192Z" + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -8036,7 +8062,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-11-18T04:41:25.239Z" + "updated_at": "2025-12-05T14:17:26.192Z" }, "rawHeaders": [], "responseIsBinary": false @@ -8161,7 +8187,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-11-18T04:42:29.394Z" + "updated_at": "2025-12-05T14:19:17.478Z" }, "rawHeaders": [], "responseIsBinary": false @@ -9348,9 +9374,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Default App", "callbacks": [], "cross_origin_auth": false, @@ -9374,7 +9397,7 @@ "subject": "deprecated" } ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9427,7 +9450,7 @@ "subject": "deprecated" } ], - "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9447,21 +9470,12 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -9481,8 +9495,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9490,28 +9503,32 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -9531,7 +9548,8 @@ "subject": "deprecated" } ], - "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", + "allowed_origins": [], + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9539,11 +9557,16 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { @@ -9572,7 +9595,7 @@ "subject": "deprecated" } ], - "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9591,14 +9614,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -9610,16 +9628,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -9629,7 +9648,7 @@ "subject": "deprecated" } ], - "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9638,15 +9657,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -9654,9 +9670,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -9668,17 +9689,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -9688,7 +9708,7 @@ "subject": "deprecated" } ], - "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", + "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9697,12 +9717,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -9743,7 +9766,7 @@ "subject": "deprecated" } ], - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9767,7 +9790,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "path": "/api/v2/clients/BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", "body": { "name": "Default App", "callbacks": [], @@ -9802,9 +9825,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Default App", "callbacks": [], "cross_origin_auth": false, @@ -9828,7 +9848,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9864,7 +9884,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/otp", + "path": "/api/v2/guardian/factors/webauthn-roaming", "body": { "enabled": false }, @@ -9878,7 +9898,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/recovery-code", + "path": "/api/v2/guardian/factors/sms", "body": { "enabled": false }, @@ -9892,7 +9912,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/email", + "path": "/api/v2/guardian/factors/otp", "body": { "enabled": false }, @@ -9934,7 +9954,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/email", "body": { "enabled": false }, @@ -9948,7 +9968,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", + "path": "/api/v2/guardian/factors/recovery-code", "body": { "enabled": false }, @@ -10021,7 +10041,7 @@ "response": { "actions": [ { - "id": "ada80236-a38c-477e-8607-57fb51c714f6", + "id": "4273221d-f20e-44e6-aa9d-d45702782e4e", "name": "My Custom Action", "supported_triggers": [ { @@ -10029,34 +10049,34 @@ "version": "v2" } ], - "created_at": "2025-11-18T04:42:09.263480298Z", - "updated_at": "2025-11-18T04:42:09.276813948Z", + "created_at": "2025-12-05T14:18:53.100690661Z", + "updated_at": "2025-12-05T14:18:53.114050616Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "built", "secrets": [], "current_version": { - "id": "dc9201b2-f56a-4205-b914-75d5330688b1", + "id": "6a213299-32ce-486f-addb-5864d95ac3d9", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node18", "status": "BUILT", "number": 1, - "build_time": "2025-11-18T04:42:10.034576826Z", - "created_at": "2025-11-18T04:42:09.938084833Z", - "updated_at": "2025-11-18T04:42:10.036175645Z" + "build_time": "2025-12-05T14:18:53.859494195Z", + "created_at": "2025-12-05T14:18:53.780088164Z", + "updated_at": "2025-12-05T14:18:53.860524296Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "dc9201b2-f56a-4205-b914-75d5330688b1", + "id": "6a213299-32ce-486f-addb-5864d95ac3d9", "deployed": true, "number": 1, - "built_at": "2025-11-18T04:42:10.034576826Z", + "built_at": "2025-12-05T14:18:53.859494195Z", "secrets": [], "status": "built", - "created_at": "2025-11-18T04:42:09.938084833Z", - "updated_at": "2025-11-18T04:42:10.036175645Z", + "created_at": "2025-12-05T14:18:53.780088164Z", + "updated_at": "2025-12-05T14:18:53.860524296Z", "runtime": "node18", "supported_triggers": [ { @@ -10083,7 +10103,7 @@ "response": { "actions": [ { - "id": "ada80236-a38c-477e-8607-57fb51c714f6", + "id": "4273221d-f20e-44e6-aa9d-d45702782e4e", "name": "My Custom Action", "supported_triggers": [ { @@ -10091,34 +10111,34 @@ "version": "v2" } ], - "created_at": "2025-11-18T04:42:09.263480298Z", - "updated_at": "2025-11-18T04:42:09.276813948Z", + "created_at": "2025-12-05T14:18:53.100690661Z", + "updated_at": "2025-12-05T14:18:53.114050616Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "built", "secrets": [], "current_version": { - "id": "dc9201b2-f56a-4205-b914-75d5330688b1", + "id": "6a213299-32ce-486f-addb-5864d95ac3d9", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node18", "status": "BUILT", "number": 1, - "build_time": "2025-11-18T04:42:10.034576826Z", - "created_at": "2025-11-18T04:42:09.938084833Z", - "updated_at": "2025-11-18T04:42:10.036175645Z" + "build_time": "2025-12-05T14:18:53.859494195Z", + "created_at": "2025-12-05T14:18:53.780088164Z", + "updated_at": "2025-12-05T14:18:53.860524296Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "dc9201b2-f56a-4205-b914-75d5330688b1", + "id": "6a213299-32ce-486f-addb-5864d95ac3d9", "deployed": true, "number": 1, - "built_at": "2025-11-18T04:42:10.034576826Z", + "built_at": "2025-12-05T14:18:53.859494195Z", "secrets": [], "status": "built", - "created_at": "2025-11-18T04:42:09.938084833Z", - "updated_at": "2025-11-18T04:42:10.036175645Z", + "created_at": "2025-12-05T14:18:53.780088164Z", + "updated_at": "2025-12-05T14:18:53.860524296Z", "runtime": "node18", "supported_triggers": [ { @@ -10136,34 +10156,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/brute-force-protection", - "body": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 10 - }, - "status": 200, - "response": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 10 - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -10236,6 +10228,34 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/brute-force-protection", + "body": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 10 + }, + "status": 200, + "response": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 10 + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -10306,9 +10326,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Default App", "callbacks": [], "cross_origin_auth": false, @@ -10332,7 +10349,7 @@ "subject": "deprecated" } ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10385,7 +10402,7 @@ "subject": "deprecated" } ], - "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10401,6 +10418,50 @@ ], "custom_login_page_on": true }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -10440,7 +10501,7 @@ } ], "allowed_origins": [], - "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10464,10 +10525,7 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "Terraform Provider", "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, @@ -10489,7 +10547,7 @@ "subject": "deprecated" } ], - "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10508,19 +10566,31 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", + "name": "The Default App", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, - "oidc_conformant": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -10530,7 +10600,7 @@ "subject": "deprecated" } ], - "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10538,9 +10608,12 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -10587,7 +10660,7 @@ "subject": "deprecated" } ], - "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", + "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10612,7 +10685,7 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], "client_metadata": {}, @@ -10626,17 +10699,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -10646,7 +10718,7 @@ "subject": "deprecated" } ], - "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10656,70 +10728,15 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": true, + "global": true, "callbacks": [], "is_first_party": true, "name": "All Applications", @@ -10768,7 +10785,7 @@ "response": { "connections": [ { - "id": "con_gSK3HKh000WR2Yg5", + "id": "con_bBSD5AQUW0Q5aLuE", "options": { "mfa": { "active": true, @@ -10805,7 +10822,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true, @@ -10820,16 +10838,22 @@ "strategy": "auth0", "name": "boo-baz-db-connection-test", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "boo-baz-db-connection-test" ], "enabled_clients": [ - "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", - "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" ] }, { - "id": "con_YQIQ8h72LqqSXD75", + "id": "con_CfDqv7jPXpFqETeK", "options": { "mfa": { "active": true, @@ -10847,7 +10871,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true @@ -10855,12 +10880,18 @@ "strategy": "auth0", "name": "Username-Password-Authentication", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -10877,7 +10908,7 @@ "response": { "connections": [ { - "id": "con_gSK3HKh000WR2Yg5", + "id": "con_bBSD5AQUW0Q5aLuE", "options": { "mfa": { "active": true, @@ -10914,7 +10945,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true, @@ -10929,16 +10961,22 @@ "strategy": "auth0", "name": "boo-baz-db-connection-test", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "boo-baz-db-connection-test" ], "enabled_clients": [ - "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", - "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" ] }, { - "id": "con_YQIQ8h72LqqSXD75", + "id": "con_CfDqv7jPXpFqETeK", "options": { "mfa": { "active": true, @@ -10956,7 +10994,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true @@ -10964,12 +11003,18 @@ "strategy": "auth0", "name": "Username-Password-Authentication", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -10980,16 +11025,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75/clients?take=50", + "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" }, { - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" } ] }, @@ -10999,16 +11044,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_gSK3HKh000WR2Yg5/clients?take=50", + "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" }, { - "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K" + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" } ] }, @@ -11018,16 +11063,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75/clients?take=50", + "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" }, { - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" } ] }, @@ -11037,16 +11082,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_gSK3HKh000WR2Yg5/clients?take=50", + "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" }, { - "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K" + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" } ] }, @@ -11056,11 +11101,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75", + "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK", "body": "", "status": 200, "response": { - "id": "con_YQIQ8h72LqqSXD75", + "id": "con_CfDqv7jPXpFqETeK", "options": { "mfa": { "active": true, @@ -11078,7 +11123,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true @@ -11086,9 +11132,15 @@ "strategy": "auth0", "name": "Username-Password-Authentication", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ], "realms": [ "Username-Password-Authentication" @@ -11100,11 +11152,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75", + "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK", "body": { "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" ], "is_domain_connection": false, "options": { @@ -11124,7 +11176,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true @@ -11135,7 +11188,7 @@ }, "status": 200, "response": { - "id": "con_YQIQ8h72LqqSXD75", + "id": "con_CfDqv7jPXpFqETeK", "options": { "mfa": { "active": true, @@ -11153,7 +11206,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true @@ -11161,9 +11215,15 @@ "strategy": "auth0", "name": "Username-Password-Authentication", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" ], "realms": [ "Username-Password-Authentication" @@ -11175,14 +11235,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75/clients", + "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients", "body": [ { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "status": true }, { - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", "status": true } ], @@ -11261,9 +11321,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Default App", "callbacks": [], "cross_origin_auth": false, @@ -11287,7 +11344,7 @@ "subject": "deprecated" } ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11340,7 +11397,7 @@ "subject": "deprecated" } ], - "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11360,21 +11417,12 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -11394,8 +11442,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11403,28 +11450,32 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -11444,7 +11495,8 @@ "subject": "deprecated" } ], - "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", + "allowed_origins": [], + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11452,11 +11504,16 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { @@ -11485,7 +11542,7 @@ "subject": "deprecated" } ], - "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11504,14 +11561,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -11523,16 +11575,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -11542,7 +11595,7 @@ "subject": "deprecated" } ], - "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11551,15 +11604,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -11567,9 +11617,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -11581,17 +11636,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -11601,7 +11655,7 @@ "subject": "deprecated" } ], - "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", + "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11610,12 +11664,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -11656,7 +11713,7 @@ "subject": "deprecated" } ], - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11723,7 +11780,7 @@ "response": { "connections": [ { - "id": "con_gSK3HKh000WR2Yg5", + "id": "con_bBSD5AQUW0Q5aLuE", "options": { "mfa": { "active": true, @@ -11760,7 +11817,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true, @@ -11775,16 +11833,22 @@ "strategy": "auth0", "name": "boo-baz-db-connection-test", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "boo-baz-db-connection-test" ], "enabled_clients": [ - "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", - "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" ] }, { - "id": "con_TZft9UmXrtdJXHZN", + "id": "con_yGZ6rzfkdR6mMBoE", "options": { "email": true, "scope": [ @@ -11796,16 +11860,22 @@ "strategy": "google-oauth2", "name": "google-oauth2", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "google-oauth2" ], "enabled_clients": [ - "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", - "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" ] }, { - "id": "con_YQIQ8h72LqqSXD75", + "id": "con_CfDqv7jPXpFqETeK", "options": { "mfa": { "active": true, @@ -11823,7 +11893,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true @@ -11831,12 +11902,18 @@ "strategy": "auth0", "name": "Username-Password-Authentication", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "Username-Password-Authentication" ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" ] } ] @@ -11853,7 +11930,7 @@ "response": { "connections": [ { - "id": "con_gSK3HKh000WR2Yg5", + "id": "con_bBSD5AQUW0Q5aLuE", "options": { "mfa": { "active": true, @@ -11890,7 +11967,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true, @@ -11905,16 +11983,22 @@ "strategy": "auth0", "name": "boo-baz-db-connection-test", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "boo-baz-db-connection-test" ], "enabled_clients": [ - "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", - "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" ] }, { - "id": "con_TZft9UmXrtdJXHZN", + "id": "con_yGZ6rzfkdR6mMBoE", "options": { "email": true, "scope": [ @@ -11926,16 +12010,22 @@ "strategy": "google-oauth2", "name": "google-oauth2", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "google-oauth2" ], "enabled_clients": [ - "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", - "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" ] }, { - "id": "con_YQIQ8h72LqqSXD75", + "id": "con_CfDqv7jPXpFqETeK", "options": { "mfa": { "active": true, @@ -11953,7 +12043,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true @@ -11961,12 +12052,18 @@ "strategy": "auth0", "name": "Username-Password-Authentication", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "Username-Password-Authentication" ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" ] } ] @@ -11977,16 +12074,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN/clients?take=50", + "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU" + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" }, { - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" } ] }, @@ -11996,16 +12093,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN/clients?take=50", + "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU" + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" }, { - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" } ] }, @@ -12097,9 +12194,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Default App", "callbacks": [], "cross_origin_auth": false, @@ -12123,7 +12217,7 @@ "subject": "deprecated" } ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12176,7 +12270,7 @@ "subject": "deprecated" } ], - "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12196,21 +12290,12 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -12230,8 +12315,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12239,28 +12323,32 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -12280,7 +12368,8 @@ "subject": "deprecated" } ], - "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", + "allowed_origins": [], + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12288,11 +12377,16 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { @@ -12321,7 +12415,7 @@ "subject": "deprecated" } ], - "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12340,14 +12434,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -12359,16 +12448,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -12378,7 +12468,7 @@ "subject": "deprecated" } ], - "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12387,15 +12477,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -12403,9 +12490,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -12417,17 +12509,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -12437,7 +12528,7 @@ "subject": "deprecated" } ], - "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", + "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12446,12 +12537,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -12492,7 +12586,7 @@ "subject": "deprecated" } ], - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12559,8 +12653,8 @@ "response": { "client_grants": [ { - "id": "cgr_3AYjjoZPrtNXxpUX", - "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", + "id": "cgr_JYmQHwQEXGDCc53P", + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -12697,8 +12791,8 @@ "subject_type": "client" }, { - "id": "cgr_9BAlRXJOVpDaB7eR", - "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", + "id": "cgr_ReJeayDzA8FTvFPY", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -13083,22 +13177,22 @@ "response": { "roles": [ { - "id": "rol_QuDH6eKysxE8ilL9", + "id": "rol_EH7ASyHIXKqKPc4X", "name": "Admin", "description": "Can read and write things" }, { - "id": "rol_3OJzKOu3TsUKCvFO", + "id": "rol_WHMW5tI8GYuTShEL", "name": "Reader", "description": "Can only read things" }, { - "id": "rol_dqwrzyi9Bx9QmZ3E", + "id": "rol_dkoJYFPEbm4fBQUa", "name": "read_only", "description": "Read Only" }, { - "id": "rol_tcKxqeYyc6Eqp7Jb", + "id": "rol_6mNIPtAC2wBSBD7S", "name": "read_osnly", "description": "Readz Only" } @@ -13113,7 +13207,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_QuDH6eKysxE8ilL9/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -13128,7 +13222,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_QuDH6eKysxE8ilL9/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -13143,7 +13237,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_3OJzKOu3TsUKCvFO/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -13158,7 +13252,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_3OJzKOu3TsUKCvFO/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -13173,7 +13267,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_dqwrzyi9Bx9QmZ3E/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -13188,7 +13282,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_dqwrzyi9Bx9QmZ3E/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -13203,7 +13297,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_tcKxqeYyc6Eqp7Jb/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -13218,7 +13312,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_tcKxqeYyc6Eqp7Jb/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -13239,12 +13333,7 @@ "response": { "organizations": [ { - "id": "org_JrXRxTbTrRdicEcf", - "name": "org2", - "display_name": "Organization2" - }, - { - "id": "org_PCcwQ9qOcuJfWkEL", + "id": "org_fIRF1it8cTOyf2yS", "name": "org1", "display_name": "Organization", "branding": { @@ -13253,6 +13342,11 @@ "primary": "#57ddff" } } + }, + { + "id": "org_hWOYWXtnxIpJ0MX3", + "name": "org2", + "display_name": "Organization2" } ] }, @@ -13329,9 +13423,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Default App", "callbacks": [], "cross_origin_auth": false, @@ -13355,7 +13446,7 @@ "subject": "deprecated" } ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13408,7 +13499,7 @@ "subject": "deprecated" } ], - "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13428,21 +13519,12 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -13462,8 +13544,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13471,28 +13552,32 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -13512,7 +13597,8 @@ "subject": "deprecated" } ], - "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", + "allowed_origins": [], + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13520,11 +13606,16 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { @@ -13553,7 +13644,7 @@ "subject": "deprecated" } ], - "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13572,14 +13663,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -13591,16 +13677,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -13610,7 +13697,7 @@ "subject": "deprecated" } ], - "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13619,15 +13706,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -13635,9 +13719,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -13649,17 +13738,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -13669,7 +13757,7 @@ "subject": "deprecated" } ], - "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", + "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13678,12 +13766,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -13724,7 +13815,7 @@ "subject": "deprecated" } ], - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13785,7 +13876,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -13800,7 +13891,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -13815,7 +13906,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -13830,7 +13921,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -13845,7 +13936,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/discovery-domains?take=50", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -13857,7 +13948,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/discovery-domains?take=50", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -13869,7 +13960,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -13884,7 +13975,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -13899,7 +13990,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -13914,7 +14005,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -13929,7 +14020,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/discovery-domains?take=50", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -13941,7 +14032,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/discovery-domains?take=50", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -13959,7 +14050,7 @@ "response": { "connections": [ { - "id": "con_gSK3HKh000WR2Yg5", + "id": "con_bBSD5AQUW0Q5aLuE", "options": { "mfa": { "active": true, @@ -13996,7 +14087,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true, @@ -14011,16 +14103,22 @@ "strategy": "auth0", "name": "boo-baz-db-connection-test", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "boo-baz-db-connection-test" ], "enabled_clients": [ - "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", - "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" ] }, { - "id": "con_TZft9UmXrtdJXHZN", + "id": "con_yGZ6rzfkdR6mMBoE", "options": { "email": true, "scope": [ @@ -14032,16 +14130,22 @@ "strategy": "google-oauth2", "name": "google-oauth2", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "google-oauth2" ], "enabled_clients": [ - "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", - "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" ] }, { - "id": "con_YQIQ8h72LqqSXD75", + "id": "con_CfDqv7jPXpFqETeK", "options": { "mfa": { "active": true, @@ -14059,7 +14163,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true @@ -14067,12 +14172,18 @@ "strategy": "auth0", "name": "Username-Password-Authentication", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "Username-Password-Authentication" ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" ] } ] @@ -14083,134 +14194,547 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", + "path": "/api/v2/client-grants?take=50", "body": "", "status": 200, "response": { - "total": 10, - "start": 0, - "limit": 100, - "clients": [ - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", - "is_first_party": true, - "oidc_conformant": true, - "sso_disabled": false, - "cross_origin_auth": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "cross_origin_authentication": true, - "allowed_clients": [], - "callbacks": [], - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials", - "implicit", - "authorization_code", - "refresh_token" - ], - "custom_login_page_on": true - }, + "client_grants": [ { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "Default App", - "callbacks": [], - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" + "id": "cgr_JYmQHwQEXGDCc53P", + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ], + "subject_type": "client" + }, + { + "id": "cgr_ReJeayDzA8FTvFPY", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ], + "subject_type": "client" + }, + { + "id": "cgr_pbwejzhwoujrsNE8", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:client_credentials", + "update:client_credentials", + "delete:client_credentials", + "create:client_credentials", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations_summary", + "create:authentication_methods", + "read:authentication_methods", + "update:authentication_methods", + "delete:authentication_methods", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "read:organization_discovery_domains", + "update:organization_discovery_domains", + "create:organization_discovery_domains", + "delete:organization_discovery_domains", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations", + "read:scim_config", + "create:scim_config", + "update:scim_config", + "delete:scim_config", + "create:scim_token", + "read:scim_token", + "delete:scim_token", + "delete:phone_providers", + "create:phone_providers", + "read:phone_providers", + "update:phone_providers", + "delete:phone_templates", + "create:phone_templates", + "read:phone_templates", + "update:phone_templates", + "create:encryption_keys", + "read:encryption_keys", + "update:encryption_keys", + "delete:encryption_keys", + "read:sessions", + "update:sessions", + "delete:sessions", + "read:refresh_tokens", + "delete:refresh_tokens", + "create:self_service_profiles", + "read:self_service_profiles", + "update:self_service_profiles", + "delete:self_service_profiles", + "create:sso_access_tickets", + "delete:sso_access_tickets", + "read:forms", + "update:forms", + "delete:forms", + "create:forms", + "read:flows", + "update:flows", + "delete:flows", + "create:flows", + "read:flows_vault", + "read:flows_vault_connections", + "update:flows_vault_connections", + "delete:flows_vault_connections", + "create:flows_vault_connections", + "read:flows_executions", + "delete:flows_executions", + "read:connections_options", + "update:connections_options", + "read:self_service_profile_custom_texts", + "update:self_service_profile_custom_texts", + "create:network_acls", + "update:network_acls", + "read:network_acls", + "delete:network_acls", + "delete:vdcs_templates", + "read:vdcs_templates", + "create:vdcs_templates", + "update:vdcs_templates", + "create:custom_signing_keys", + "read:custom_signing_keys", + "update:custom_signing_keys", + "delete:custom_signing_keys", + "read:federated_connections_tokens", + "delete:federated_connections_tokens", + "create:user_attribute_profiles", + "read:user_attribute_profiles", + "update:user_attribute_profiles", + "delete:user_attribute_profiles", + "read:event_streams", + "create:event_streams", + "delete:event_streams", + "update:event_streams", + "read:event_deliveries", + "update:event_deliveries", + "create:connection_profiles", + "read:connection_profiles", + "update:connection_profiles", + "delete:connection_profiles", + "read:organization_client_grants", + "create:organization_client_grants", + "delete:organization_client_grants", + "read:security_metrics", + "read:connections_keys", + "update:connections_keys", + "create:connections_keys" ], - "custom_login_page_on": true - }, + "subject_type": "client" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "total": 10, + "start": 0, + "limit": 100, + "clients": [ { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, + "name": "Deploy CLI", "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -14220,42 +14744,9 @@ "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", + "cross_origin_authentication": true, "allowed_clients": [], - "allowed_logout_urls": [], "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, "native_social_login": { "apple": { "enabled": false @@ -14264,18 +14755,6 @@ "enabled": false } }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -14283,8 +14762,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14294,98 +14772,12 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "web_origins": [], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", "app_type": "non_interactive", "grant_types": [ - "client_credentials" + "client_credentials", + "implicit", + "authorization_code", + "refresh_token" ], "custom_login_page_on": true }, @@ -14393,34 +14785,19 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, + "name": "Default App", + "callbacks": [], "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, + "is_first_party": true, "oidc_conformant": true, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, "sso_disabled": false, "cross_origin_authentication": false, @@ -14431,7 +14808,7 @@ "subject": "deprecated" } ], - "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14439,16 +14816,11 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -14456,7 +14828,7 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "API Explorer Application", "allowed_clients": [], "callbacks": [], "client_metadata": {}, @@ -14470,17 +14842,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -14490,7 +14861,7 @@ "subject": "deprecated" } ], - "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14500,10 +14871,8 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -14512,20 +14881,12 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -14545,7 +14906,7 @@ "subject": "deprecated" } ], - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", + "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14553,7 +14914,6 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", "app_type": "non_interactive", "grant_types": [ @@ -14563,30 +14923,35 @@ }, { "tenant": "auth0-deploy-cli-e2e", - "global": true, + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, "is_first_party": true, - "name": "All Applications", + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, + "sso_disabled": false, + "cross_origin_authentication": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -14594,533 +14959,276 @@ "subject": "deprecated" } ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "allowed_origins": [], + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "callback_url_template": false, "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "regular_web", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "web_origins": [], "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/client-grants?take=50", - "body": "", - "status": 200, - "response": { - "client_grants": [ + }, { - "id": "cgr_3AYjjoZPrtNXxpUX", - "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Terraform Provider", + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "subject_type": "client" + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true }, { - "id": "cgr_9BAlRXJOVpDaB7eR", - "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "The Default App", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso": false, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "subject_type": "client" + "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "none", + "app_type": "spa", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" + ], + "custom_login_page_on": true }, { - "id": "cgr_pbwejzhwoujrsNE8", - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:client_credentials", - "update:client_credentials", - "delete:client_credentials", - "create:client_credentials", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations_summary", - "create:authentication_methods", - "read:authentication_methods", - "update:authentication_methods", - "delete:authentication_methods", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "read:organization_discovery_domains", - "update:organization_discovery_domains", - "create:organization_discovery_domains", - "delete:organization_discovery_domains", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations", - "read:scim_config", - "create:scim_config", - "update:scim_config", - "delete:scim_config", - "create:scim_token", - "read:scim_token", - "delete:scim_token", - "delete:phone_providers", - "create:phone_providers", - "read:phone_providers", - "update:phone_providers", - "delete:phone_templates", - "create:phone_templates", - "read:phone_templates", - "update:phone_templates", - "create:encryption_keys", - "read:encryption_keys", - "update:encryption_keys", - "delete:encryption_keys", - "read:sessions", - "update:sessions", - "delete:sessions", - "read:refresh_tokens", - "delete:refresh_tokens", - "create:self_service_profiles", - "read:self_service_profiles", - "update:self_service_profiles", - "delete:self_service_profiles", - "create:sso_access_tickets", - "delete:sso_access_tickets", - "read:forms", - "update:forms", - "delete:forms", - "create:forms", - "read:flows", - "update:flows", - "delete:flows", - "create:flows", - "read:flows_vault", - "read:flows_vault_connections", - "update:flows_vault_connections", - "delete:flows_vault_connections", - "create:flows_vault_connections", - "read:flows_executions", - "delete:flows_executions", - "read:connections_options", - "update:connections_options", - "read:self_service_profile_custom_texts", - "update:self_service_profile_custom_texts", - "create:network_acls", - "update:network_acls", - "read:network_acls", - "delete:network_acls", - "delete:vdcs_templates", - "read:vdcs_templates", - "create:vdcs_templates", - "update:vdcs_templates", - "create:custom_signing_keys", - "read:custom_signing_keys", - "update:custom_signing_keys", - "delete:custom_signing_keys", - "read:federated_connections_tokens", - "delete:federated_connections_tokens", - "create:user_attribute_profiles", - "read:user_attribute_profiles", - "update:user_attribute_profiles", - "delete:user_attribute_profiles", - "read:event_streams", - "create:event_streams", - "delete:event_streams", - "update:event_streams", - "read:event_deliveries", - "update:event_deliveries", - "create:connection_profiles", - "read:connection_profiles", - "update:connection_profiles", - "delete:connection_profiles", - "read:organization_client_grants", - "create:organization_client_grants", - "delete:organization_client_grants", - "read:security_metrics", - "read:connections_keys", - "update:connections_keys", - "create:connections_keys" + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "subject_type": "client" + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": true, + "callbacks": [], + "is_first_party": true, + "name": "All Applications", + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" + ], + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true } ] }, @@ -15135,7 +15243,7 @@ "status": 200, "response": [ { - "id": "lst_0000000000025177", + "id": "lst_0000000000025431", "name": "Suspended DD Log Stream", "type": "datadog", "status": "active", @@ -15146,14 +15254,14 @@ "isPriority": false }, { - "id": "lst_0000000000025178", + "id": "lst_0000000000025432", "name": "Amazon EventBridge", "type": "eventbridge", "status": "active", "sink": { "awsAccountId": "123456789012", "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-c1366744-b33c-4125-b8c0-625b40865581/auth0.logs" + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-84b807b2-8a87-4d4b-87eb-ff1b56370b3a/auth0.logs" }, "filters": [ { @@ -16461,9 +16569,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Default App", "callbacks": [], "cross_origin_auth": false, @@ -16487,7 +16592,7 @@ "subject": "deprecated" } ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -16540,7 +16645,7 @@ "subject": "deprecated" } ], - "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -16560,21 +16665,12 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -16594,8 +16690,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -16603,28 +16698,32 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -16644,7 +16743,8 @@ "subject": "deprecated" } ], - "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", + "allowed_origins": [], + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -16652,11 +16752,16 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { @@ -16685,7 +16790,7 @@ "subject": "deprecated" } ], - "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -16704,14 +16809,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -16723,16 +16823,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -16742,7 +16843,7 @@ "subject": "deprecated" } ], - "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -16751,15 +16852,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -16767,9 +16865,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -16781,17 +16884,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -16801,7 +16903,7 @@ "subject": "deprecated" } ], - "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", + "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -16810,12 +16912,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -16856,7 +16961,7 @@ "subject": "deprecated" } ], - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -16886,7 +16991,7 @@ "response": { "connections": [ { - "id": "con_gSK3HKh000WR2Yg5", + "id": "con_bBSD5AQUW0Q5aLuE", "options": { "mfa": { "active": true, @@ -16923,7 +17028,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true, @@ -16938,16 +17044,22 @@ "strategy": "auth0", "name": "boo-baz-db-connection-test", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "boo-baz-db-connection-test" ], "enabled_clients": [ - "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", - "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" ] }, { - "id": "con_YQIQ8h72LqqSXD75", + "id": "con_CfDqv7jPXpFqETeK", "options": { "mfa": { "active": true, @@ -16965,7 +17077,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true @@ -16973,12 +17086,18 @@ "strategy": "auth0", "name": "Username-Password-Authentication", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "Username-Password-Authentication" ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" ] } ] @@ -16989,16 +17108,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_gSK3HKh000WR2Yg5/clients?take=50", + "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" }, { - "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K" + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" } ] }, @@ -17008,16 +17127,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75/clients?take=50", + "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" }, { - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" } ] }, @@ -17027,16 +17146,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_gSK3HKh000WR2Yg5/clients?take=50", + "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" }, { - "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K" + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" } ] }, @@ -17046,16 +17165,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75/clients?take=50", + "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" }, { - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" } ] }, @@ -17071,7 +17190,7 @@ "response": { "connections": [ { - "id": "con_gSK3HKh000WR2Yg5", + "id": "con_bBSD5AQUW0Q5aLuE", "options": { "mfa": { "active": true, @@ -17108,7 +17227,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true, @@ -17123,16 +17243,22 @@ "strategy": "auth0", "name": "boo-baz-db-connection-test", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "boo-baz-db-connection-test" ], "enabled_clients": [ - "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", - "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" ] }, { - "id": "con_TZft9UmXrtdJXHZN", + "id": "con_yGZ6rzfkdR6mMBoE", "options": { "email": true, "scope": [ @@ -17144,16 +17270,22 @@ "strategy": "google-oauth2", "name": "google-oauth2", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "google-oauth2" ], "enabled_clients": [ - "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", - "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" ] }, { - "id": "con_YQIQ8h72LqqSXD75", + "id": "con_CfDqv7jPXpFqETeK", "options": { "mfa": { "active": true, @@ -17171,7 +17303,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true @@ -17179,12 +17312,18 @@ "strategy": "auth0", "name": "Username-Password-Authentication", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "Username-Password-Authentication" ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" ] } ] @@ -17195,16 +17334,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN/clients?take=50", + "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU" + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" }, { - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" } ] }, @@ -17214,16 +17353,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN/clients?take=50", + "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU" + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" }, { - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt" + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" } ] }, @@ -17320,17 +17459,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/verify_email", + "path": "/api/v2/email-templates/verify_email_by_code", "body": "", - "status": 200, + "status": 404, "response": { - "template": "verify_email", - "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", - "from": "", - "subject": "", - "syntax": "liquid", - "urlLifetimeInSeconds": 432000, - "enabled": true + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" }, "rawHeaders": [], "responseIsBinary": false @@ -17338,14 +17474,17 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/verify_email_by_code", + "path": "/api/v2/email-templates/verify_email", "body": "", - "status": 404, + "status": 200, "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" + "template": "verify_email", + "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", + "from": "", + "subject": "", + "syntax": "liquid", + "urlLifetimeInSeconds": 432000, + "enabled": true }, "rawHeaders": [], "responseIsBinary": false @@ -17353,14 +17492,18 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/change_password", + "path": "/api/v2/email-templates/welcome_email", "body": "", - "status": 404, + "status": 200, "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "from": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", + "syntax": "liquid", + "urlLifetimeInSeconds": 3600, + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -17368,7 +17511,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email", + "path": "/api/v2/email-templates/mfa_oob_code", "body": "", "status": 404, "response": { @@ -17383,7 +17526,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/mfa_oob_code", + "path": "/api/v2/email-templates/password_reset", "body": "", "status": 404, "response": { @@ -17413,7 +17556,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/async_approval", + "path": "/api/v2/email-templates/blocked_account", "body": "", "status": 404, "response": { @@ -17428,7 +17571,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/password_reset", + "path": "/api/v2/email-templates/async_approval", "body": "", "status": 404, "response": { @@ -17443,7 +17586,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email_by_code", + "path": "/api/v2/email-templates/enrollment_email", "body": "", "status": 404, "response": { @@ -17458,7 +17601,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/blocked_account", + "path": "/api/v2/email-templates/user_invitation", "body": "", "status": 404, "response": { @@ -17473,7 +17616,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/user_invitation", + "path": "/api/v2/email-templates/reset_email_by_code", "body": "", "status": 404, "response": { @@ -17488,18 +17631,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/welcome_email", + "path": "/api/v2/email-templates/change_password", "body": "", - "status": 200, + "status": 404, "response": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" }, "rawHeaders": [], "responseIsBinary": false @@ -17507,7 +17646,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/enrollment_email", + "path": "/api/v2/email-templates/reset_email", "body": "", "status": 404, "response": { @@ -17528,8 +17667,8 @@ "response": { "client_grants": [ { - "id": "cgr_3AYjjoZPrtNXxpUX", - "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", + "id": "cgr_JYmQHwQEXGDCc53P", + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -17666,8 +17805,8 @@ "subject_type": "client" }, { - "id": "cgr_9BAlRXJOVpDaB7eR", - "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", + "id": "cgr_ReJeayDzA8FTvFPY", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -18097,7 +18236,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/guardian/factors/sms/providers/twilio", + "path": "/api/v2/guardian/factors/push-notification/providers/sns", "body": "", "status": 200, "response": {}, @@ -18107,7 +18246,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/guardian/factors/push-notification/providers/sns", + "path": "/api/v2/guardian/factors/sms/providers/twilio", "body": "", "status": 200, "response": {}, @@ -18170,22 +18309,22 @@ "response": { "roles": [ { - "id": "rol_QuDH6eKysxE8ilL9", + "id": "rol_EH7ASyHIXKqKPc4X", "name": "Admin", "description": "Can read and write things" }, { - "id": "rol_3OJzKOu3TsUKCvFO", + "id": "rol_WHMW5tI8GYuTShEL", "name": "Reader", "description": "Can only read things" }, { - "id": "rol_dqwrzyi9Bx9QmZ3E", + "id": "rol_dkoJYFPEbm4fBQUa", "name": "read_only", "description": "Read Only" }, { - "id": "rol_tcKxqeYyc6Eqp7Jb", + "id": "rol_6mNIPtAC2wBSBD7S", "name": "read_osnly", "description": "Readz Only" } @@ -18200,7 +18339,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_QuDH6eKysxE8ilL9/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -18215,7 +18354,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_QuDH6eKysxE8ilL9/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -18230,7 +18369,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_3OJzKOu3TsUKCvFO/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -18245,7 +18384,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_3OJzKOu3TsUKCvFO/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -18260,7 +18399,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_dqwrzyi9Bx9QmZ3E/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -18275,7 +18414,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_dqwrzyi9Bx9QmZ3E/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -18290,7 +18429,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_tcKxqeYyc6Eqp7Jb/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -18305,7 +18444,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_tcKxqeYyc6Eqp7Jb/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -18453,7 +18592,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/custom-text/en", + "path": "/api/v2/prompts/login-password/custom-text/en", "body": "", "status": 200, "response": {}, @@ -18463,7 +18602,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-password/custom-text/en", + "path": "/api/v2/prompts/login-id/custom-text/en", "body": "", "status": 200, "response": {}, @@ -18533,7 +18672,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/email-identifier-challenge/custom-text/en", + "path": "/api/v2/prompts/phone-identifier-challenge/custom-text/en", "body": "", "status": 200, "response": {}, @@ -18543,7 +18682,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/phone-identifier-challenge/custom-text/en", + "path": "/api/v2/prompts/email-identifier-challenge/custom-text/en", "body": "", "status": 200, "response": {}, @@ -18603,7 +18742,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-otp/custom-text/en", + "path": "/api/v2/prompts/mfa-voice/custom-text/en", "body": "", "status": 200, "response": {}, @@ -18623,7 +18762,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-voice/custom-text/en", + "path": "/api/v2/prompts/mfa-otp/custom-text/en", "body": "", "status": 200, "response": {}, @@ -18633,7 +18772,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-phone/custom-text/en", + "path": "/api/v2/prompts/mfa-webauthn/custom-text/en", "body": "", "status": 200, "response": {}, @@ -18643,7 +18782,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-sms/custom-text/en", + "path": "/api/v2/prompts/mfa-phone/custom-text/en", "body": "", "status": 200, "response": {}, @@ -18653,7 +18792,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-webauthn/custom-text/en", + "path": "/api/v2/prompts/mfa-sms/custom-text/en", "body": "", "status": 200, "response": {}, @@ -18663,7 +18802,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-email/custom-text/en", + "path": "/api/v2/prompts/mfa-recovery-code/custom-text/en", "body": "", "status": 200, "response": {}, @@ -18673,7 +18812,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-recovery-code/custom-text/en", + "path": "/api/v2/prompts/mfa-email/custom-text/en", "body": "", "status": 200, "response": {}, @@ -18693,7 +18832,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/device-flow/custom-text/en", + "path": "/api/v2/prompts/status/custom-text/en", "body": "", "status": 200, "response": {}, @@ -18703,7 +18842,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/status/custom-text/en", + "path": "/api/v2/prompts/device-flow/custom-text/en", "body": "", "status": 200, "response": {}, @@ -18783,7 +18922,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/partials", + "path": "/api/v2/prompts/brute-force-protection/custom-text/en", "body": "", "status": 200, "response": {}, @@ -18813,7 +18952,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-passwordless/partials", + "path": "/api/v2/prompts/login-id/partials", "body": "", "status": 200, "response": {}, @@ -18830,6 +18969,16 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/prompts/login-passwordless/partials", + "body": "", + "status": 200, + "response": {}, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -18859,7 +19008,7 @@ "response": { "actions": [ { - "id": "ada80236-a38c-477e-8607-57fb51c714f6", + "id": "4273221d-f20e-44e6-aa9d-d45702782e4e", "name": "My Custom Action", "supported_triggers": [ { @@ -18867,34 +19016,34 @@ "version": "v2" } ], - "created_at": "2025-11-18T04:42:09.263480298Z", - "updated_at": "2025-11-18T04:42:09.276813948Z", + "created_at": "2025-12-05T14:18:53.100690661Z", + "updated_at": "2025-12-05T14:18:53.114050616Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "built", "secrets": [], "current_version": { - "id": "dc9201b2-f56a-4205-b914-75d5330688b1", + "id": "6a213299-32ce-486f-addb-5864d95ac3d9", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node18", "status": "BUILT", "number": 1, - "build_time": "2025-11-18T04:42:10.034576826Z", - "created_at": "2025-11-18T04:42:09.938084833Z", - "updated_at": "2025-11-18T04:42:10.036175645Z" + "build_time": "2025-12-05T14:18:53.859494195Z", + "created_at": "2025-12-05T14:18:53.780088164Z", + "updated_at": "2025-12-05T14:18:53.860524296Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "dc9201b2-f56a-4205-b914-75d5330688b1", + "id": "6a213299-32ce-486f-addb-5864d95ac3d9", "deployed": true, "number": 1, - "built_at": "2025-11-18T04:42:10.034576826Z", + "built_at": "2025-12-05T14:18:53.859494195Z", "secrets": [], "status": "built", - "created_at": "2025-11-18T04:42:09.938084833Z", - "updated_at": "2025-11-18T04:42:10.036175645Z", + "created_at": "2025-12-05T14:18:53.780088164Z", + "updated_at": "2025-12-05T14:18:53.860524296Z", "runtime": "node18", "supported_triggers": [ { @@ -18925,6 +19074,7 @@ "version": "v3", "status": "CURRENT", "runtimes": [ + "node12", "node18-actions", "node22" ], @@ -18948,17 +19098,6 @@ "binding_policy": "trigger-bound", "compatible_triggers": [] }, - { - "id": "credentials-exchange", - "version": "v1", - "status": "DEPRECATED", - "runtimes": [ - "node12" - ], - "default_runtime": "node12", - "binding_policy": "trigger-bound", - "compatible_triggers": [] - }, { "id": "credentials-exchange", "version": "v2", @@ -18976,6 +19115,7 @@ "version": "v2", "status": "CURRENT", "runtimes": [ + "node12", "node18-actions", "node22" ], @@ -19018,22 +19158,12 @@ "binding_policy": "trigger-bound", "compatible_triggers": [] }, - { - "id": "send-phone-message", - "version": "v1", - "status": "DEPRECATED", - "runtimes": [ - "node12" - ], - "default_runtime": "node12", - "binding_policy": "trigger-bound", - "compatible_triggers": [] - }, { "id": "send-phone-message", "version": "v2", "status": "CURRENT", "runtimes": [ + "node12", "node18-actions", "node22" ], @@ -19282,12 +19412,7 @@ "response": { "organizations": [ { - "id": "org_JrXRxTbTrRdicEcf", - "name": "org2", - "display_name": "Organization2" - }, - { - "id": "org_PCcwQ9qOcuJfWkEL", + "id": "org_fIRF1it8cTOyf2yS", "name": "org1", "display_name": "Organization", "branding": { @@ -19296,6 +19421,11 @@ "primary": "#57ddff" } } + }, + { + "id": "org_hWOYWXtnxIpJ0MX3", + "name": "org2", + "display_name": "Organization2" } ] }, @@ -19372,9 +19502,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Default App", "callbacks": [], "cross_origin_auth": false, @@ -19398,7 +19525,7 @@ "subject": "deprecated" } ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -19451,7 +19578,7 @@ "subject": "deprecated" } ], - "client_id": "PlWzNITs1tQyu3RrFA3OUGjtIsa7emov", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -19471,21 +19598,12 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -19505,8 +19623,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "Ix2t99DOe6G99TxX6XJ3h9t9qKwVxB8K", + "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -19514,28 +19631,32 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -19555,7 +19676,8 @@ "subject": "deprecated" } ], - "client_id": "fsRTrYLcS2JUyLsOJYyBRvkR0XFCpzaF", + "allowed_origins": [], + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -19563,11 +19685,16 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { @@ -19596,7 +19723,7 @@ "subject": "deprecated" } ], - "client_id": "17S8meqm0ImjMHCjjYwDbwrHOkApC382", + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -19615,14 +19742,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -19634,16 +19756,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -19653,7 +19776,7 @@ "subject": "deprecated" } ], - "client_id": "HIzKdREbF957j3VNApECeIV6pViYy8q6", + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -19662,15 +19785,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -19678,9 +19798,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -19692,17 +19817,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -19712,7 +19836,7 @@ "subject": "deprecated" } ], - "client_id": "1FzSxSoo2DzoLqaKah0DgqxM91Zp0OVU", + "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -19721,12 +19845,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -19767,7 +19894,7 @@ "subject": "deprecated" } ], - "client_id": "hWmabIrWAYC5DKQkzOnvitE1GedwKNmt", + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -19828,7 +19955,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -19843,7 +19970,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -19858,7 +19985,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -19873,7 +20000,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -19888,7 +20015,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/discovery-domains?take=50", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -19900,7 +20027,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_JrXRxTbTrRdicEcf/discovery-domains?take=50", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -19912,7 +20039,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -19927,7 +20054,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -19942,7 +20069,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -19957,7 +20084,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -19972,7 +20099,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/discovery-domains?take=50", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -19984,7 +20111,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_PCcwQ9qOcuJfWkEL/discovery-domains?take=50", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -20062,23 +20189,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/attack-protection/bot-detection", - "body": "", - "status": 200, - "response": { - "challenge_password_policy": "never", - "challenge_passwordless_policy": "never", - "challenge_password_reset_policy": "never", - "allowlist": [], - "bot_detection_level": "medium", - "monitoring_mode_enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -20114,6 +20224,23 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/attack-protection/bot-detection", + "body": "", + "status": 200, + "response": { + "challenge_password_policy": "never", + "challenge_passwordless_policy": "never", + "challenge_password_reset_policy": "never", + "allowlist": [], + "bot_detection_level": "medium", + "monitoring_mode_enabled": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -20122,7 +20249,7 @@ "status": 200, "response": [ { - "id": "lst_0000000000025177", + "id": "lst_0000000000025431", "name": "Suspended DD Log Stream", "type": "datadog", "status": "active", @@ -20133,14 +20260,14 @@ "isPriority": false }, { - "id": "lst_0000000000025178", + "id": "lst_0000000000025432", "name": "Amazon EventBridge", "type": "eventbridge", "status": "active", "sink": { "awsAccountId": "123456789012", "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-c1366744-b33c-4125-b8c0-625b40865581/auth0.logs" + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-84b807b2-8a87-4d4b-87eb-ff1b56370b3a/auth0.logs" }, "filters": [ { @@ -20242,7 +20369,7 @@ "name": "Blank-form", "flow_count": 0, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-11-18T04:42:29.394Z" + "updated_at": "2025-12-05T14:19:17.478Z" } ] }, @@ -20313,7 +20440,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-11-18T04:42:29.394Z" + "updated_at": "2025-12-05T14:19:17.478Z" }, "rawHeaders": [], "responseIsBinary": false @@ -20321,14 +20448,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "limit": 100, + "limit": 50, "start": 0, "total": 0, - "flows": [] + "connections": [] }, "rawHeaders": [], "responseIsBinary": false @@ -20336,14 +20463,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { - "limit": 50, + "limit": 100, "start": 0, "total": 0, - "connections": [] + "flows": [] }, "rawHeaders": [], "responseIsBinary": false @@ -20422,7 +20549,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-11-18T04:42:23.144Z", + "updated_at": "2025-12-05T14:19:10.944Z", "branding": { "colors": { "primary": "#19aecc" @@ -20474,7 +20601,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-11-18T04:42:10.956Z", + "updated_at": "2025-12-05T14:18:54.912Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] diff --git a/test/e2e/recordings/should-dump-and-deploy-without-throwing-an-error.json b/test/e2e/recordings/should-dump-and-deploy-without-throwing-an-error.json index 368a18794..4fb57c91d 100644 --- a/test/e2e/recordings/should-dump-and-deploy-without-throwing-an-error.json +++ b/test/e2e/recordings/should-dump-and-deploy-without-throwing-an-error.json @@ -151,6 +151,7 @@ "page_background": "#222221" } }, + "resource_parameter_profile": "audience", "session_cookie": { "mode": "non-persistent" }, @@ -158,8 +159,7 @@ "22", "18", "12" - ], - "resource_parameter_profile": "audience" + ] }, "rawHeaders": [], "responseIsBinary": false @@ -1120,7 +1120,7 @@ "body": "", "status": 200, "response": { - "total": 2, + "total": 9, "start": 0, "limit": 100, "clients": [ @@ -1183,9 +1183,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Default App", "callbacks": [], "cross_origin_auth": false, @@ -1209,7 +1206,7 @@ "subject": "deprecated" } ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1224,199 +1221,375 @@ "client_credentials" ], "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?take=50&strategy=auth0", - "body": "", - "status": 200, - "response": { - "connections": [ + }, { - "id": "con_YQIQ8h72LqqSXD75", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false }, - "brute_force_protection": true + "facebook": { + "enabled": false + } }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ - { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - }, - { - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ - { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true }, { - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?take=50", - "body": "", - "status": 200, - "response": { - "connections": [ - { - "id": "con_TZft9UmXrtdJXHZN", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "realms": [ - "google-oauth2" + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" - ] + "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true }, { - "id": "con_YQIQ8h72LqqSXD75", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false }, - "brute_force_protection": true + "facebook": { + "enabled": false + } }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ + "allowed_origins": [], + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "regular_web", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "web_origins": [], + "custom_login_page_on": true + }, { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Terraform Provider", + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true }, { - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "The Default App", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso": false, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "none", + "app_type": "spa", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" + ], + "custom_login_page_on": true }, { - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true } ] }, @@ -1426,71 +1599,122 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/tenants/settings", + "path": "/api/v2/connections?take=50&strategy=auth0", "body": "", "status": 200, "response": { - "allowed_logout_urls": [ - "https://mycompany.org/logoutCallback" - ], - "change_password": { - "enabled": true, - "html": "Change Password\n" - }, - "enabled_locales": [ - "en" - ], - "error_page": { - "html": "Error Page\n", - "show_log_link": false, - "url": "https://mycompany.org/error" - }, - "flags": { - "allow_changing_enable_sso": false, - "allow_legacy_delegation_grant_types": true, - "allow_legacy_ro_grant_types": true, - "change_pwd_flow_v1": false, - "disable_impersonation": true, - "enable_apis_section": false, - "enable_client_connections": false, - "enable_custom_domain_in_emails": false, - "enable_dynamic_client_registration": false, - "enable_legacy_logs_search_v2": false, - "enable_public_signup_user_exists_error": true, - "enable_sso": true, - "new_universal_login_experience_enabled": true, - "universal_login": true, - "use_scope_descriptions_for_consent": false, - "revoke_refresh_token_grant": false, - "disable_clickjack_protection_headers": false, - "enable_pipeline2": false - }, - "friendly_name": "My Test Tenant", - "guardian_mfa_page": { - "enabled": true, - "html": "MFA\n" - }, - "idle_session_lifetime": 1, - "picture_url": "https://upload.wikimedia.org/wikipedia/commons/0/0d/Grandmas_marathon_finishers.png", - "sandbox_version": "12", - "session_lifetime": 3.0166666666666666, - "support_email": "support@mycompany.org", - "support_url": "https://mycompany.org/support", - "universal_login": { - "colors": { - "primary": "#F8F8F2", - "page_background": "#222221" + "connections": [ + { + "id": "con_bBSD5AQUW0Q5aLuE", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "import_mode": false, + "customScripts": { + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "password_history": { + "size": 5, + "enable": false + }, + "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true + }, + "strategy": "auth0", + "name": "boo-baz-db-connection-test", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "boo-baz-db-connection-test" + ], + "enabled_clients": [ + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + ] + }, + { + "id": "con_CfDqv7jPXpFqETeK", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true + }, + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "Username-Password-Authentication" + ], + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" + ] } - }, - "session_cookie": { - "mode": "non-persistent" - }, - "sandbox_versions_available": [ - "22", - "18", - "12" - ], - "resource_parameter_profile": "audience" + ] }, "rawHeaders": [], "responseIsBinary": false @@ -1498,14 +1722,18 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/emails/provider?fields=name%2Cenabled%2Ccredentials%2Csettings%2Cdefault_from_address&include_fields=true", + "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients?take=50", "body": "", "status": 200, "response": { - "name": "mandrill", - "credentials": {}, - "default_from_address": "auth0-user@auth0.com", - "enabled": false + "clients": [ + { + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + }, + { + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -1513,17 +1741,18 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/verify_email", + "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients?take=50", "body": "", "status": 200, "response": { - "template": "verify_email", - "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", - "from": "", - "subject": "", - "syntax": "liquid", - "urlLifetimeInSeconds": 432000, - "enabled": true + "clients": [ + { + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" + }, + { + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -1531,14 +1760,18 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/stolen_credentials", + "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients?take=50", "body": "", - "status": 404, + "status": 200, "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" + "clients": [ + { + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + }, + { + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -1546,14 +1779,18 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/user_invitation", + "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients?take=50", "body": "", - "status": 404, + "status": 200, "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" + "clients": [ + { + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" + }, + { + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -1561,14 +1798,149 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/verify_email_by_code", + "path": "/api/v2/connections?take=50", "body": "", - "status": 404, + "status": 200, "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" + "connections": [ + { + "id": "con_bBSD5AQUW0Q5aLuE", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "import_mode": false, + "customScripts": { + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "password_history": { + "size": 5, + "enable": false + }, + "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true + }, + "strategy": "auth0", + "name": "boo-baz-db-connection-test", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "boo-baz-db-connection-test" + ], + "enabled_clients": [ + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + ] + }, + { + "id": "con_yGZ6rzfkdR6mMBoE", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + }, + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "google-oauth2" + ], + "enabled_clients": [ + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" + ] + }, + { + "id": "con_CfDqv7jPXpFqETeK", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true + }, + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "Username-Password-Authentication" + ], + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" + ] + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -1576,14 +1948,18 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/mfa_oob_code", + "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients?take=50", "body": "", - "status": 404, + "status": 200, "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" + "clients": [ + { + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + }, + { + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -1591,9 +1967,115 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/blocked_account", + "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients?take=50", "body": "", - "status": 404, + "status": 200, + "response": { + "clients": [ + { + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + }, + { + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/tenants/settings", + "body": "", + "status": 200, + "response": { + "allowed_logout_urls": [ + "https://mycompany.org/logoutCallback" + ], + "change_password": { + "enabled": true, + "html": "Change Password\n" + }, + "enabled_locales": [ + "en" + ], + "error_page": { + "html": "Error Page\n", + "show_log_link": false, + "url": "https://mycompany.org/error" + }, + "flags": { + "allow_changing_enable_sso": false, + "allow_legacy_delegation_grant_types": true, + "allow_legacy_ro_grant_types": true, + "change_pwd_flow_v1": false, + "disable_impersonation": true, + "enable_apis_section": false, + "enable_client_connections": false, + "enable_custom_domain_in_emails": false, + "enable_dynamic_client_registration": false, + "enable_legacy_logs_search_v2": false, + "enable_public_signup_user_exists_error": true, + "enable_sso": true, + "new_universal_login_experience_enabled": true, + "universal_login": true, + "use_scope_descriptions_for_consent": false, + "revoke_refresh_token_grant": false, + "disable_clickjack_protection_headers": false, + "enable_pipeline2": false + }, + "friendly_name": "My Test Tenant", + "guardian_mfa_page": { + "enabled": true, + "html": "MFA\n" + }, + "idle_session_lifetime": 1, + "picture_url": "https://upload.wikimedia.org/wikipedia/commons/0/0d/Grandmas_marathon_finishers.png", + "sandbox_version": "12", + "session_lifetime": 3.0166666666666666, + "support_email": "support@mycompany.org", + "support_url": "https://mycompany.org/support", + "universal_login": { + "colors": { + "primary": "#F8F8F2", + "page_background": "#222221" + } + }, + "resource_parameter_profile": "audience", + "session_cookie": { + "mode": "non-persistent" + }, + "sandbox_versions_available": [ + "22", + "18", + "12" + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/emails/provider?fields=name%2Cenabled%2Ccredentials%2Csettings%2Cdefault_from_address&include_fields=true", + "body": "", + "status": 200, + "response": { + "name": "mandrill", + "credentials": {}, + "default_from_address": "auth0-user@auth0.com", + "enabled": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/email-templates/verify_email_by_code", + "body": "", + "status": 404, "response": { "statusCode": 404, "error": "Not Found", @@ -1606,7 +2088,40 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/async_approval", + "path": "/api/v2/email-templates/verify_email", + "body": "", + "status": 200, + "response": { + "template": "verify_email", + "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", + "from": "", + "subject": "", + "syntax": "liquid", + "urlLifetimeInSeconds": 432000, + "enabled": true + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/email-templates/user_invitation", + "body": "", + "status": 404, + "response": { + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/email-templates/enrollment_email", "body": "", "status": 404, "response": { @@ -1640,7 +2155,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/password_reset", + "path": "/api/v2/email-templates/reset_email_by_code", "body": "", "status": 404, "response": { @@ -1670,7 +2185,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email_by_code", + "path": "/api/v2/email-templates/stolen_credentials", "body": "", "status": 404, "response": { @@ -1685,7 +2200,52 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/enrollment_email", + "path": "/api/v2/email-templates/async_approval", + "body": "", + "status": 404, + "response": { + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/email-templates/blocked_account", + "body": "", + "status": 404, + "response": { + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/email-templates/password_reset", + "body": "", + "status": 404, + "response": { + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/email-templates/mfa_oob_code", "body": "", "status": 404, "response": { @@ -1721,8 +2281,8 @@ "response": { "client_grants": [ { - "id": "cgr_pbwejzhwoujrsNE8", - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "id": "cgr_JYmQHwQEXGDCc53P", + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -1749,10 +2309,6 @@ "update:client_keys", "delete:client_keys", "create:client_keys", - "read:client_credentials", - "update:client_credentials", - "delete:client_credentials", - "create:client_credentials", "read:connections", "update:connections", "delete:connections", @@ -1842,19 +2398,10 @@ "read:entitlements", "read:attack_protection", "update:attack_protection", - "read:organizations_summary", - "create:authentication_methods", - "read:authentication_methods", - "update:authentication_methods", - "delete:authentication_methods", "read:organizations", "update:organizations", "create:organizations", "delete:organizations", - "read:organization_discovery_domains", - "update:organization_discovery_domains", - "create:organization_discovery_domains", - "delete:organization_discovery_domains", "create:organization_members", "read:organization_members", "delete:organization_members", @@ -1867,316 +2414,746 @@ "delete:organization_member_roles", "create:organization_invitations", "read:organization_invitations", - "delete:organization_invitations", - "read:scim_config", - "create:scim_config", - "update:scim_config", - "delete:scim_config", - "create:scim_token", - "read:scim_token", - "delete:scim_token", - "delete:phone_providers", - "create:phone_providers", - "read:phone_providers", - "update:phone_providers", - "delete:phone_templates", - "create:phone_templates", - "read:phone_templates", - "update:phone_templates", - "create:encryption_keys", - "read:encryption_keys", - "update:encryption_keys", - "delete:encryption_keys", - "read:sessions", - "update:sessions", - "delete:sessions", - "read:refresh_tokens", - "delete:refresh_tokens", - "create:self_service_profiles", - "read:self_service_profiles", - "update:self_service_profiles", - "delete:self_service_profiles", - "create:sso_access_tickets", - "delete:sso_access_tickets", - "read:forms", - "update:forms", - "delete:forms", - "create:forms", - "read:flows", - "update:flows", - "delete:flows", - "create:flows", - "read:flows_vault", - "read:flows_vault_connections", - "update:flows_vault_connections", - "delete:flows_vault_connections", - "create:flows_vault_connections", - "read:flows_executions", - "delete:flows_executions", - "read:connections_options", - "update:connections_options", - "read:self_service_profile_custom_texts", - "update:self_service_profile_custom_texts", - "create:network_acls", - "update:network_acls", - "read:network_acls", - "delete:network_acls", - "delete:vdcs_templates", - "read:vdcs_templates", - "create:vdcs_templates", - "update:vdcs_templates", - "create:custom_signing_keys", - "read:custom_signing_keys", - "update:custom_signing_keys", - "delete:custom_signing_keys", - "read:federated_connections_tokens", - "delete:federated_connections_tokens", - "create:user_attribute_profiles", - "read:user_attribute_profiles", - "update:user_attribute_profiles", - "delete:user_attribute_profiles", - "read:event_streams", - "create:event_streams", - "delete:event_streams", - "update:event_streams", - "read:event_deliveries", - "update:event_deliveries", - "create:connection_profiles", - "read:connection_profiles", - "update:connection_profiles", - "delete:connection_profiles", - "read:organization_client_grants", - "create:organization_client_grants", - "delete:organization_client_grants", - "read:security_metrics", - "read:connections_keys", - "update:connections_keys", - "create:connections_keys" + "delete:organization_invitations" ], "subject_type": "client" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/guardian/factors", - "body": "", - "status": 200, - "response": [ - { - "name": "sms", - "enabled": false, - "trial_expired": false - }, - { - "name": "push-notification", - "enabled": false, - "trial_expired": false - }, - { - "name": "otp", - "enabled": false, - "trial_expired": false - }, - { - "name": "email", - "enabled": false, - "trial_expired": false - }, - { - "name": "duo", - "enabled": false, - "trial_expired": false - }, - { - "name": "webauthn-roaming", - "enabled": false, - "trial_expired": false - }, - { - "name": "webauthn-platform", - "enabled": false, - "trial_expired": false - }, - { - "name": "recovery-code", - "enabled": false, - "trial_expired": false - } - ], - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/guardian/factors/push-notification/providers/sns", - "body": "", - "status": 200, - "response": {}, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/guardian/factors/sms/providers/twilio", - "body": "", - "status": 200, - "response": {}, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/guardian/factors/sms/templates", - "body": "", - "status": 200, - "response": { - "enrollment_message": "enroll foo", - "verification_message": "verify foo" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/guardian/policies", - "body": "", - "status": 200, - "response": [], - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/guardian/factors/phone/selected-provider", - "body": "", - "status": 200, - "response": { - "provider": "auth0" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/guardian/factors/phone/message-types", - "body": "", - "status": 200, - "response": { - "message_types": [] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "roles": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/branding", - "body": "", - "status": 200, - "response": { - "colors": { - "primary": "#F8F8F2", - "page_background": "#222221" - }, - "logo_url": "https://upload.wikimedia.org/wikipedia/commons/0/0d/Grandmas_marathon_finishers.png" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/custom-domains", - "body": "", - "status": 200, - "response": [], - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/branding/phone/providers", - "body": "", - "status": 200, - "response": { - "providers": [] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/prompts", - "body": "", - "status": 200, - "response": { - "universal_login_experience": "new", - "identifier_first": true - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/tenants/settings", - "body": "", - "status": 200, - "response": { - "allowed_logout_urls": [ - "https://mycompany.org/logoutCallback" - ], - "change_password": { - "enabled": true, - "html": "Change Password\n" - }, - "enabled_locales": [ - "en" - ], - "error_page": { - "html": "Error Page\n", - "show_log_link": false, - "url": "https://mycompany.org/error" - }, - "flags": { - "allow_changing_enable_sso": false, - "allow_legacy_delegation_grant_types": true, - "allow_legacy_ro_grant_types": true, - "change_pwd_flow_v1": false, - "disable_impersonation": true, - "enable_apis_section": false, - "enable_client_connections": false, - "enable_custom_domain_in_emails": false, - "enable_dynamic_client_registration": false, - "enable_legacy_logs_search_v2": false, + }, + { + "id": "cgr_ReJeayDzA8FTvFPY", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ], + "subject_type": "client" + }, + { + "id": "cgr_pbwejzhwoujrsNE8", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:client_credentials", + "update:client_credentials", + "delete:client_credentials", + "create:client_credentials", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations_summary", + "create:authentication_methods", + "read:authentication_methods", + "update:authentication_methods", + "delete:authentication_methods", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "read:organization_discovery_domains", + "update:organization_discovery_domains", + "create:organization_discovery_domains", + "delete:organization_discovery_domains", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations", + "read:scim_config", + "create:scim_config", + "update:scim_config", + "delete:scim_config", + "create:scim_token", + "read:scim_token", + "delete:scim_token", + "delete:phone_providers", + "create:phone_providers", + "read:phone_providers", + "update:phone_providers", + "delete:phone_templates", + "create:phone_templates", + "read:phone_templates", + "update:phone_templates", + "create:encryption_keys", + "read:encryption_keys", + "update:encryption_keys", + "delete:encryption_keys", + "read:sessions", + "update:sessions", + "delete:sessions", + "read:refresh_tokens", + "delete:refresh_tokens", + "create:self_service_profiles", + "read:self_service_profiles", + "update:self_service_profiles", + "delete:self_service_profiles", + "create:sso_access_tickets", + "delete:sso_access_tickets", + "read:forms", + "update:forms", + "delete:forms", + "create:forms", + "read:flows", + "update:flows", + "delete:flows", + "create:flows", + "read:flows_vault", + "read:flows_vault_connections", + "update:flows_vault_connections", + "delete:flows_vault_connections", + "create:flows_vault_connections", + "read:flows_executions", + "delete:flows_executions", + "read:connections_options", + "update:connections_options", + "read:self_service_profile_custom_texts", + "update:self_service_profile_custom_texts", + "create:network_acls", + "update:network_acls", + "read:network_acls", + "delete:network_acls", + "delete:vdcs_templates", + "read:vdcs_templates", + "create:vdcs_templates", + "update:vdcs_templates", + "create:custom_signing_keys", + "read:custom_signing_keys", + "update:custom_signing_keys", + "delete:custom_signing_keys", + "read:federated_connections_tokens", + "delete:federated_connections_tokens", + "create:user_attribute_profiles", + "read:user_attribute_profiles", + "update:user_attribute_profiles", + "delete:user_attribute_profiles", + "read:event_streams", + "create:event_streams", + "delete:event_streams", + "update:event_streams", + "read:event_deliveries", + "update:event_deliveries", + "create:connection_profiles", + "read:connection_profiles", + "update:connection_profiles", + "delete:connection_profiles", + "read:organization_client_grants", + "create:organization_client_grants", + "delete:organization_client_grants", + "read:security_metrics", + "read:connections_keys", + "update:connections_keys", + "create:connections_keys" + ], + "subject_type": "client" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/guardian/factors", + "body": "", + "status": 200, + "response": [ + { + "name": "sms", + "enabled": false, + "trial_expired": false + }, + { + "name": "push-notification", + "enabled": false, + "trial_expired": false + }, + { + "name": "otp", + "enabled": false, + "trial_expired": false + }, + { + "name": "email", + "enabled": false, + "trial_expired": false + }, + { + "name": "duo", + "enabled": false, + "trial_expired": false + }, + { + "name": "webauthn-roaming", + "enabled": false, + "trial_expired": false + }, + { + "name": "webauthn-platform", + "enabled": false, + "trial_expired": false + }, + { + "name": "recovery-code", + "enabled": false, + "trial_expired": false + } + ], + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/guardian/factors/push-notification/providers/sns", + "body": "", + "status": 200, + "response": {}, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/guardian/factors/sms/providers/twilio", + "body": "", + "status": 200, + "response": {}, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/guardian/factors/sms/templates", + "body": "", + "status": 200, + "response": { + "enrollment_message": "enroll foo", + "verification_message": "verify foo" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/guardian/policies", + "body": "", + "status": 200, + "response": [], + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/guardian/factors/phone/selected-provider", + "body": "", + "status": 200, + "response": { + "provider": "auth0" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/guardian/factors/phone/message-types", + "body": "", + "status": 200, + "response": { + "message_types": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "roles": [ + { + "id": "rol_EH7ASyHIXKqKPc4X", + "name": "Admin", + "description": "Can read and write things" + }, + { + "id": "rol_WHMW5tI8GYuTShEL", + "name": "Reader", + "description": "Can only read things" + }, + { + "id": "rol_dkoJYFPEbm4fBQUa", + "name": "read_only", + "description": "Read Only" + }, + { + "id": "rol_6mNIPtAC2wBSBD7S", + "name": "read_osnly", + "description": "Readz Only" + } + ], + "start": 0, + "limit": 100, + "total": 4 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/branding", + "body": "", + "status": 200, + "response": { + "colors": { + "primary": "#F8F8F2", + "page_background": "#222221" + }, + "logo_url": "https://upload.wikimedia.org/wikipedia/commons/0/0d/Grandmas_marathon_finishers.png" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/custom-domains", + "body": "", + "status": 200, + "response": [], + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/branding/phone/providers", + "body": "", + "status": 200, + "response": { + "providers": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/prompts", + "body": "", + "status": 200, + "response": { + "universal_login_experience": "new", + "identifier_first": true + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/tenants/settings", + "body": "", + "status": 200, + "response": { + "allowed_logout_urls": [ + "https://mycompany.org/logoutCallback" + ], + "change_password": { + "enabled": true, + "html": "Change Password\n" + }, + "enabled_locales": [ + "en" + ], + "error_page": { + "html": "Error Page\n", + "show_log_link": false, + "url": "https://mycompany.org/error" + }, + "flags": { + "allow_changing_enable_sso": false, + "allow_legacy_delegation_grant_types": true, + "allow_legacy_ro_grant_types": true, + "change_pwd_flow_v1": false, + "disable_impersonation": true, + "enable_apis_section": false, + "enable_client_connections": false, + "enable_custom_domain_in_emails": false, + "enable_dynamic_client_registration": false, + "enable_legacy_logs_search_v2": false, "enable_public_signup_user_exists_error": true, "enable_sso": true, "new_universal_login_experience_enabled": true, @@ -2203,6 +3180,7 @@ "page_background": "#222221" } }, + "resource_parameter_profile": "audience", "session_cookie": { "mode": "non-persistent" }, @@ -2210,8 +3188,7 @@ "22", "18", "12" - ], - "resource_parameter_profile": "audience" + ] }, "rawHeaders": [], "responseIsBinary": false @@ -2219,7 +3196,97 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login/custom-text/en", + "path": "/api/v2/prompts/login/custom-text/en", + "body": "", + "status": 200, + "response": {}, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/prompts/login-password/custom-text/en", + "body": "", + "status": 200, + "response": {}, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/prompts/login-id/custom-text/en", + "body": "", + "status": 200, + "response": {}, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/prompts/login-passwordless/custom-text/en", + "body": "", + "status": 200, + "response": {}, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/prompts/signup/custom-text/en", + "body": "", + "status": 200, + "response": {}, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/prompts/login-email-verification/custom-text/en", + "body": "", + "status": 200, + "response": {}, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/prompts/signup-id/custom-text/en", + "body": "", + "status": 200, + "response": {}, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/prompts/signup-password/custom-text/en", + "body": "", + "status": 200, + "response": {}, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/prompts/phone-identifier-challenge/custom-text/en", + "body": "", + "status": 200, + "response": {}, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/prompts/phone-identifier-enrollment/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2229,7 +3296,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/custom-text/en", + "path": "/api/v2/prompts/email-identifier-challenge/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2239,7 +3306,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-passwordless/custom-text/en", + "path": "/api/v2/prompts/reset-password/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2249,7 +3316,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-email-verification/custom-text/en", + "path": "/api/v2/prompts/consent/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2259,7 +3326,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-password/custom-text/en", + "path": "/api/v2/prompts/custom-form/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2269,7 +3336,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup/custom-text/en", + "path": "/api/v2/prompts/customized-consent/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2279,7 +3346,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup-id/custom-text/en", + "path": "/api/v2/prompts/logout/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2289,7 +3356,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup-password/custom-text/en", + "path": "/api/v2/prompts/mfa-push/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2299,7 +3366,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/phone-identifier-enrollment/custom-text/en", + "path": "/api/v2/prompts/mfa-otp/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2309,7 +3376,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/phone-identifier-challenge/custom-text/en", + "path": "/api/v2/prompts/mfa-voice/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2319,7 +3386,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/email-identifier-challenge/custom-text/en", + "path": "/api/v2/prompts/mfa-phone/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2329,7 +3396,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/reset-password/custom-text/en", + "path": "/api/v2/prompts/mfa-webauthn/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2339,7 +3406,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/custom-form/custom-text/en", + "path": "/api/v2/prompts/mfa-sms/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2349,7 +3416,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/consent/custom-text/en", + "path": "/api/v2/prompts/mfa-recovery-code/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2359,7 +3426,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/customized-consent/custom-text/en", + "path": "/api/v2/prompts/mfa-email/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2369,7 +3436,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/logout/custom-text/en", + "path": "/api/v2/prompts/mfa/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2379,7 +3446,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-push/custom-text/en", + "path": "/api/v2/prompts/status/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2389,7 +3456,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-otp/custom-text/en", + "path": "/api/v2/prompts/device-flow/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2399,7 +3466,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-voice/custom-text/en", + "path": "/api/v2/prompts/email-verification/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2409,7 +3476,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-phone/custom-text/en", + "path": "/api/v2/prompts/email-otp-challenge/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2419,7 +3486,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-webauthn/custom-text/en", + "path": "/api/v2/prompts/organizations/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2429,7 +3496,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-sms/custom-text/en", + "path": "/api/v2/prompts/invitation/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2439,7 +3506,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-email/custom-text/en", + "path": "/api/v2/prompts/common/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2449,7 +3516,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-recovery-code/custom-text/en", + "path": "/api/v2/prompts/captcha/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2459,7 +3526,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa/custom-text/en", + "path": "/api/v2/prompts/passkeys/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2469,7 +3536,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/status/custom-text/en", + "path": "/api/v2/prompts/brute-force-protection/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2479,7 +3546,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/device-flow/custom-text/en", + "path": "/api/v2/prompts/login-id/partials", "body": "", "status": 200, "response": {}, @@ -2489,7 +3556,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/email-verification/custom-text/en", + "path": "/api/v2/prompts/login/partials", "body": "", "status": 200, "response": {}, @@ -2499,7 +3566,47 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/email-otp-challenge/custom-text/en", + "path": "/api/v2/prompts/login-password/partials", + "body": "", + "status": 200, + "response": {}, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/prompts/login-passwordless/partials", + "body": "", + "status": 200, + "response": {}, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/prompts/signup/partials", + "body": "", + "status": 200, + "response": {}, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/prompts/signup-id/partials", + "body": "", + "status": 200, + "response": {}, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/prompts/signup-password/partials", "body": "", "status": 200, "response": {}, @@ -2509,132 +3616,451 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/organizations/custom-text/en", + "path": "/api/v2/actions/actions?page=0&per_page=100", + "body": "", + "status": 200, + "response": { + "actions": [ + { + "id": "4273221d-f20e-44e6-aa9d-d45702782e4e", + "name": "My Custom Action", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ], + "created_at": "2025-12-05T14:18:53.100690661Z", + "updated_at": "2025-12-05T14:18:53.114050616Z", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "dependencies": [], + "runtime": "node18", + "status": "built", + "secrets": [], + "current_version": { + "id": "6a213299-32ce-486f-addb-5864d95ac3d9", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "runtime": "node18", + "status": "BUILT", + "number": 1, + "build_time": "2025-12-05T14:18:53.859494195Z", + "created_at": "2025-12-05T14:18:53.780088164Z", + "updated_at": "2025-12-05T14:18:53.860524296Z" + }, + "deployed_version": { + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "dependencies": [], + "id": "6a213299-32ce-486f-addb-5864d95ac3d9", + "deployed": true, + "number": 1, + "built_at": "2025-12-05T14:18:53.859494195Z", + "secrets": [], + "status": "built", + "created_at": "2025-12-05T14:18:53.780088164Z", + "updated_at": "2025-12-05T14:18:53.860524296Z", + "runtime": "node18", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ] + }, + "all_changes_deployed": true + } + ], + "total": 1, + "per_page": 100 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/actions/triggers", + "body": "", + "status": 200, + "response": { + "triggers": [ + { + "id": "post-login", + "version": "v3", + "status": "CURRENT", + "runtimes": [ + "node18-actions", + "node22" + ], + "default_runtime": "node22", + "binding_policy": "trigger-bound", + "compatible_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ] + }, + { + "id": "post-login", + "version": "v2", + "status": "DEPRECATED", + "runtimes": [ + "node18" + ], + "default_runtime": "node16", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, + { + "id": "credentials-exchange", + "version": "v1", + "status": "DEPRECATED", + "runtimes": [ + "node12" + ], + "default_runtime": "node12", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, + { + "id": "credentials-exchange", + "version": "v2", + "status": "CURRENT", + "runtimes": [ + "node18-actions", + "node22" + ], + "default_runtime": "node22", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, + { + "id": "pre-user-registration", + "version": "v2", + "status": "CURRENT", + "runtimes": [ + "node18-actions", + "node22" + ], + "default_runtime": "node22", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, + { + "id": "post-user-registration", + "version": "v1", + "status": "DEPRECATED", + "runtimes": [ + "node12" + ], + "default_runtime": "node12", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, + { + "id": "post-user-registration", + "version": "v2", + "status": "CURRENT", + "runtimes": [ + "node18-actions", + "node22" + ], + "default_runtime": "node22", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, + { + "id": "post-change-password", + "version": "v2", + "status": "CURRENT", + "runtimes": [ + "node18-actions", + "node22" + ], + "default_runtime": "node22", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, + { + "id": "send-phone-message", + "version": "v1", + "status": "DEPRECATED", + "runtimes": [ + "node12" + ], + "default_runtime": "node12", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, + { + "id": "send-phone-message", + "version": "v2", + "status": "CURRENT", + "runtimes": [ + "node18-actions", + "node22" + ], + "default_runtime": "node22", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, + { + "id": "password-reset-post-challenge", + "version": "v1", + "status": "CURRENT", + "runtimes": [ + "node18-actions", + "node22" + ], + "default_runtime": "node22", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, + { + "id": "login-post-identifier", + "version": "v1", + "status": "CURRENT", + "runtimes": [ + "node18", + "node22" + ], + "default_runtime": "node22", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, + { + "id": "custom-phone-provider", + "version": "v1", + "status": "CURRENT", + "runtimes": [ + "node18-actions", + "node22" + ], + "default_runtime": "node22", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, + { + "id": "custom-email-provider", + "version": "v1", + "status": "CURRENT", + "runtimes": [ + "node18-actions", + "node22" + ], + "default_runtime": "node22", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, + { + "id": "custom-token-exchange", + "version": "v1", + "status": "CURRENT", + "runtimes": [ + "node18", + "node22" + ], + "default_runtime": "node22", + "binding_policy": "entity-bound", + "compatible_triggers": [] + }, + { + "id": "event-stream", + "version": "v1", + "status": "CURRENT", + "runtimes": [ + "node22" + ], + "default_runtime": "node22", + "binding_policy": "entity-bound", + "compatible_triggers": [] + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/actions/triggers/post-login/bindings?page=0&per_page=50", "body": "", "status": 200, - "response": {}, + "response": { + "bindings": [], + "per_page": 50 + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/invitation/custom-text/en", + "path": "/api/v2/actions/triggers/credentials-exchange/bindings?page=0&per_page=50", "body": "", "status": 200, - "response": {}, + "response": { + "bindings": [], + "per_page": 50 + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/common/custom-text/en", + "path": "/api/v2/actions/triggers/pre-user-registration/bindings?page=0&per_page=50", "body": "", "status": 200, - "response": {}, + "response": { + "bindings": [], + "per_page": 50 + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/captcha/custom-text/en", + "path": "/api/v2/actions/triggers/post-user-registration/bindings?page=0&per_page=50", "body": "", "status": 200, - "response": {}, + "response": { + "bindings": [], + "per_page": 50 + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/passkeys/custom-text/en", + "path": "/api/v2/actions/triggers/post-change-password/bindings?page=0&per_page=50", "body": "", "status": 200, - "response": {}, + "response": { + "bindings": [], + "per_page": 50 + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login/partials", + "path": "/api/v2/actions/triggers/send-phone-message/bindings?page=0&per_page=50", "body": "", "status": 200, - "response": {}, + "response": { + "bindings": [], + "per_page": 50 + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/partials", + "path": "/api/v2/actions/triggers/password-reset-post-challenge/bindings?page=0&per_page=50", "body": "", "status": 200, - "response": {}, + "response": { + "bindings": [], + "per_page": 50 + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-password/partials", + "path": "/api/v2/actions/triggers/login-post-identifier/bindings?page=0&per_page=50", "body": "", "status": 200, - "response": {}, + "response": { + "bindings": [], + "per_page": 50 + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-passwordless/partials", + "path": "/api/v2/actions/triggers/custom-phone-provider/bindings?page=0&per_page=50", "body": "", "status": 200, - "response": {}, + "response": { + "bindings": [], + "per_page": 50 + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup/partials", + "path": "/api/v2/actions/triggers/custom-email-provider/bindings?page=0&per_page=50", "body": "", "status": 200, - "response": {}, + "response": { + "bindings": [], + "per_page": 50 + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup-id/partials", + "path": "/api/v2/actions/triggers/custom-token-exchange/bindings?page=0&per_page=50", "body": "", "status": 200, - "response": {}, + "response": { + "bindings": [], + "per_page": 50 + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup-password/partials", + "path": "/api/v2/actions/triggers/event-stream/bindings?page=0&per_page=50", "body": "", "status": 200, - "response": {}, + "response": { + "bindings": [], + "per_page": 50 + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/actions?page=0&per_page=100", + "path": "/api/v2/organizations?take=50", "body": "", "status": 200, "response": { - "actions": [], - "per_page": 100 + "organizations": [ + { + "id": "org_fIRF1it8cTOyf2yS", + "name": "org1", + "display_name": "Organization", + "branding": { + "colors": { + "page_background": "#fff5f5", + "primary": "#57ddff" + } + } + }, + { + "id": "org_hWOYWXtnxIpJ0MX3", + "name": "org2", + "display_name": "Organization2" + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -2642,212 +4068,519 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers", + "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { - "triggers": [ + "total": 10, + "start": 0, + "limit": 100, + "clients": [ { - "id": "post-login", - "version": "v3", - "status": "CURRENT", - "runtimes": [ - "node12", - "node18-actions", - "node22" + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Deploy CLI", + "is_first_party": true, + "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "cross_origin_authentication": true, + "allowed_clients": [], + "callbacks": [], + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials", + "implicit", + "authorization_code", + "refresh_token" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Default App", + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "default_runtime": "node22", - "binding_policy": "trigger-bound", - "compatible_triggers": [ + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ { - "id": "post-login", - "version": "v2" + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" } - ] + ], + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true }, { - "id": "post-login", - "version": "v2", - "status": "DEPRECATED", - "runtimes": [ - "node18" + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "default_runtime": "node16", - "binding_policy": "trigger-bound", - "compatible_triggers": [] + "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true }, { - "id": "credentials-exchange", - "version": "v2", - "status": "CURRENT", - "runtimes": [ - "node12", - "node18-actions", - "node22" + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "default_runtime": "node22", - "binding_policy": "trigger-bound", - "compatible_triggers": [] + "allowed_origins": [], + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "regular_web", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "web_origins": [], + "custom_login_page_on": true }, { - "id": "pre-user-registration", - "version": "v2", - "status": "CURRENT", - "runtimes": [ - "node12", - "node18-actions", - "node22" + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Terraform Provider", + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "default_runtime": "node22", - "binding_policy": "trigger-bound", - "compatible_triggers": [] + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true }, { - "id": "post-user-registration", - "version": "v2", - "status": "CURRENT", - "runtimes": [ - "node18-actions", - "node22" + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "The Default App", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso": false, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "default_runtime": "node22", - "binding_policy": "trigger-bound", - "compatible_triggers": [] - }, - { - "id": "post-change-password", - "version": "v1", - "status": "DEPRECATED", - "runtimes": [ - "node12" + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" ], - "default_runtime": "node12", - "binding_policy": "trigger-bound", - "compatible_triggers": [] + "custom_login_page_on": true }, { - "id": "post-change-password", - "version": "v2", - "status": "CURRENT", - "runtimes": [ - "node18-actions", - "node22" + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" ], - "default_runtime": "node22", - "binding_policy": "trigger-bound", - "compatible_triggers": [] - }, - { - "id": "send-phone-message", - "version": "v2", - "status": "CURRENT", - "runtimes": [ - "node12", - "node18-actions", - "node22" + "callbacks": [ + "http://localhost:3000" ], - "default_runtime": "node22", - "binding_policy": "trigger-bound", - "compatible_triggers": [] - }, - { - "id": "password-reset-post-challenge", - "version": "v1", - "status": "CURRENT", - "runtimes": [ - "node18-actions", - "node22" + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "default_runtime": "node22", - "binding_policy": "trigger-bound", - "compatible_triggers": [] - }, - { - "id": "login-post-identifier", - "version": "v1", - "status": "CURRENT", - "runtimes": [ - "node18", - "node22" + "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "none", + "app_type": "spa", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token" ], - "default_runtime": "node22", - "binding_policy": "trigger-bound", - "compatible_triggers": [] - }, - { - "id": "custom-phone-provider", - "version": "v1", - "status": "CURRENT", - "runtimes": [ - "node18-actions", - "node22" + "web_origins": [ + "http://localhost:3000" ], - "default_runtime": "node22", - "binding_policy": "trigger-bound", - "compatible_triggers": [] + "custom_login_page_on": true }, { - "id": "custom-email-provider", - "version": "v1", - "status": "CURRENT", - "runtimes": [ - "node18-actions", - "node22" + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "default_runtime": "node22", - "binding_policy": "trigger-bound", - "compatible_triggers": [] - }, - { - "id": "custom-token-exchange", - "version": "v1", - "status": "CURRENT", - "runtimes": [ - "node18", - "node22" + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" ], - "default_runtime": "node22", - "binding_policy": "entity-bound", - "compatible_triggers": [] + "custom_login_page_on": true }, { - "id": "event-stream", - "version": "v1", - "status": "CURRENT", - "runtimes": [ - "node22" + "tenant": "auth0-deploy-cli-e2e", + "global": true, + "callbacks": [], + "is_first_party": true, + "name": "All Applications", + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" ], - "default_runtime": "node22", - "binding_policy": "entity-bound", - "compatible_triggers": [] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/actions/triggers/post-login/bindings?page=0&per_page=50", - "body": "", - "status": 200, - "response": { - "bindings": [], - "per_page": 50 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/actions/triggers/credentials-exchange/bindings?page=0&per_page=50", - "body": "", - "status": 200, - "response": { - "bindings": [], - "per_page": 50 + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -2855,12 +4588,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/pre-user-registration/bindings?page=0&per_page=50", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "bindings": [], - "per_page": 50 + "enabled_connections": [], + "start": 0, + "limit": 0, + "total": 0 }, "rawHeaders": [], "responseIsBinary": false @@ -2868,12 +4603,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/post-user-registration/bindings?page=0&per_page=50", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "bindings": [], - "per_page": 50 + "enabled_connections": [], + "start": 0, + "limit": 0, + "total": 0 }, "rawHeaders": [], "responseIsBinary": false @@ -2881,12 +4618,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/post-change-password/bindings?page=0&per_page=50", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "bindings": [], - "per_page": 50 + "client_grants": [], + "start": 0, + "limit": 50, + "total": 0 }, "rawHeaders": [], "responseIsBinary": false @@ -2894,12 +4633,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/send-phone-message/bindings?page=0&per_page=50", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "bindings": [], - "per_page": 50 + "client_grants": [], + "start": 0, + "limit": 50, + "total": 0 }, "rawHeaders": [], "responseIsBinary": false @@ -2907,12 +4648,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/password-reset-post-challenge/bindings?page=0&per_page=50", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/discovery-domains?take=50", "body": "", "status": 200, "response": { - "bindings": [], - "per_page": 50 + "domains": [] }, "rawHeaders": [], "responseIsBinary": false @@ -2920,12 +4660,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/login-post-identifier/bindings?page=0&per_page=50", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/discovery-domains?take=50", "body": "", "status": 200, "response": { - "bindings": [], - "per_page": 50 + "domains": [] }, "rawHeaders": [], "responseIsBinary": false @@ -2933,12 +4672,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/custom-phone-provider/bindings?page=0&per_page=50", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "bindings": [], - "per_page": 50 + "enabled_connections": [], + "start": 0, + "limit": 0, + "total": 0 }, "rawHeaders": [], "responseIsBinary": false @@ -2946,12 +4687,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/custom-email-provider/bindings?page=0&per_page=50", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "bindings": [], - "per_page": 50 + "enabled_connections": [], + "start": 0, + "limit": 0, + "total": 0 }, "rawHeaders": [], "responseIsBinary": false @@ -2959,12 +4702,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/custom-token-exchange/bindings?page=0&per_page=50", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "bindings": [], - "per_page": 50 + "client_grants": [], + "start": 0, + "limit": 50, + "total": 0 }, "rawHeaders": [], "responseIsBinary": false @@ -2972,12 +4717,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/event-stream/bindings?page=0&per_page=50", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "bindings": [], - "per_page": 50 + "client_grants": [], + "start": 0, + "limit": 50, + "total": 0 }, "rawHeaders": [], "responseIsBinary": false @@ -2985,11 +4732,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations?take=50", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/discovery-domains?take=50", "body": "", "status": 200, "response": { - "organizations": [] + "domains": [] }, "rawHeaders": [], "responseIsBinary": false @@ -2997,153 +4744,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/discovery-domains?take=50", "body": "", "status": 200, "response": { - "total": 3, - "start": 0, - "limit": 100, - "clients": [ - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", - "is_first_party": true, - "oidc_conformant": true, - "sso_disabled": false, - "cross_origin_auth": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "cross_origin_authentication": true, - "allowed_clients": [], - "callbacks": [], - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials", - "implicit", - "authorization_code", - "refresh_token" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "Default App", - "callbacks": [], - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], - "is_first_party": true, - "name": "All Applications", - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true - } - ] + "domains": [] }, "rawHeaders": [], "responseIsBinary": false @@ -3170,20 +4775,24 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/attack-protection/breached-password-detection", + "path": "/api/v2/attack-protection/suspicious-ip-throttling", "body": "", "status": 200, "response": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard", + "enabled": true, + "shields": [ + "admin_notification", + "block" + ], + "allowlist": [], "stage": { - "pre-user-registration": { - "shields": [] + "pre-login": { + "max_attempts": 100, + "rate": 864000 }, - "pre-change-password": { - "shields": [] + "pre-user-registration": { + "max_attempts": 50, + "rate": 1200 } } }, @@ -3193,24 +4802,20 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/attack-protection/suspicious-ip-throttling", + "path": "/api/v2/attack-protection/breached-password-detection", "body": "", "status": 200, "response": { - "enabled": true, - "shields": [ - "admin_notification", - "block" - ], - "allowlist": [], + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard", "stage": { - "pre-login": { - "max_attempts": 100, - "rate": 864000 - }, "pre-user-registration": { - "max_attempts": 50, - "rate": 1200 + "shields": [] + }, + "pre-change-password": { + "shields": [] } } }, @@ -3275,7 +4880,69 @@ "path": "/api/v2/log-streams", "body": "", "status": 200, - "response": [], + "response": [ + { + "id": "lst_0000000000025431", + "name": "Suspended DD Log Stream", + "type": "datadog", + "status": "active", + "sink": { + "datadogApiKey": "some-sensitive-api-key", + "datadogRegion": "us" + }, + "isPriority": false + }, + { + "id": "lst_0000000000025432", + "name": "Amazon EventBridge", + "type": "eventbridge", + "status": "active", + "sink": { + "awsAccountId": "123456789012", + "awsRegion": "us-east-2", + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-84b807b2-8a87-4d4b-87eb-ff1b56370b3a/auth0.logs" + }, + "filters": [ + { + "type": "category", + "name": "auth.login.success" + }, + { + "type": "category", + "name": "auth.login.notification" + }, + { + "type": "category", + "name": "auth.login.fail" + }, + { + "type": "category", + "name": "auth.signup.success" + }, + { + "type": "category", + "name": "auth.logout.success" + }, + { + "type": "category", + "name": "auth.logout.fail" + }, + { + "type": "category", + "name": "auth.silent_auth.fail" + }, + { + "type": "category", + "name": "auth.silent_auth.success" + }, + { + "type": "category", + "name": "auth.token_exchange.fail" + } + ], + "isPriority": false + } + ], "rawHeaders": [], "responseIsBinary": false }, @@ -3307,14 +4974,22 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, - "total": 0, - "flows": [] + "total": 1, + "forms": [ + { + "id": "ap_6JUSCU7qq1CravnoU6d6jr", + "name": "Blank-form", + "flow_count": 0, + "created_at": "2024-11-26T11:58:18.187Z", + "updated_at": "2025-12-05T14:19:17.478Z" + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -3322,22 +4997,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, - "total": 1, - "forms": [ - { - "id": "ap_6JUSCU7qq1CravnoU6d6jr", - "name": "Blank-form", - "flow_count": 0, - "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-11-14T06:56:46.159Z" - } - ] + "total": 0, + "flows": [] }, "rawHeaders": [], "responseIsBinary": false @@ -3406,7 +5073,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-11-14T06:56:46.159Z" + "updated_at": "2025-12-05T14:19:17.478Z" }, "rawHeaders": [], "responseIsBinary": false @@ -3414,14 +5081,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "limit": 100, + "limit": 50, "start": 0, "total": 0, - "flows": [] + "connections": [] }, "rawHeaders": [], "responseIsBinary": false @@ -3429,14 +5096,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { - "limit": 50, + "limit": 100, "start": 0, "total": 0, - "connections": [] + "flows": [] }, "rawHeaders": [], "responseIsBinary": false @@ -3515,7 +5182,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-10-31T14:59:23.732Z", + "updated_at": "2025-12-05T14:19:10.944Z", "branding": { "colors": { "primary": "#19aecc" @@ -3567,7 +5234,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-11-18T03:34:46.530Z", + "updated_at": "2025-12-05T14:18:54.912Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] @@ -3868,6 +5535,7 @@ }, "identifier_first": true }, + "resource_parameter_profile": "audience", "session_cookie": { "mode": "non-persistent" } @@ -4761,89 +6429,2436 @@ "value": "delete:event_streams" }, { - "description": "Update event streams", - "value": "update:event_streams" + "description": "Update event streams", + "value": "update:event_streams" + }, + { + "description": "Read event stream deliveries", + "value": "read:event_deliveries" + }, + { + "description": "Redeliver event(s) to an event stream", + "value": "update:event_deliveries" + }, + { + "description": "Create Connection Profiles", + "value": "create:connection_profiles" + }, + { + "description": "Read Connection Profiles", + "value": "read:connection_profiles" + }, + { + "description": "Update Connection Profiles", + "value": "update:connection_profiles" + }, + { + "description": "Delete Connection Profiles", + "value": "delete:connection_profiles" + }, + { + "value": "read:organization_client_grants", + "description": "Read Organization Client Grants" + }, + { + "value": "create:organization_client_grants", + "description": "Create Organization Client Grants" + }, + { + "value": "delete:organization_client_grants", + "description": "Delete Organization Client Grants" + }, + { + "value": "read:security_metrics", + "description": "Read Security Metrics" + }, + { + "value": "read:connections_keys", + "description": "Read connection keys" + }, + { + "value": "update:connections_keys", + "description": "Update connection keys" + }, + { + "value": "create:connections_keys", + "description": "Create connection keys" + } + ], + "is_system": true + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/clients?page=0&per_page=100&include_totals=true&is_global=false", + "body": "", + "status": 200, + "response": { + "total": 9, + "start": 0, + "limit": 100, + "clients": [ + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Deploy CLI", + "is_first_party": true, + "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "cross_origin_authentication": true, + "allowed_clients": [], + "callbacks": [], + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials", + "implicit", + "authorization_code", + "refresh_token" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Default App", + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ { - "description": "Read event stream deliveries", - "value": "read:event_deliveries" - }, + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "allowed_origins": [], + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "regular_web", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "web_origins": [], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Terraform Provider", + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ { - "description": "Redeliver event(s) to an event stream", - "value": "update:event_deliveries" + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "The Default App", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso": false, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ { - "description": "Create Connection Profiles", - "value": "create:connection_profiles" + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ { - "description": "Read Connection Profiles", - "value": "read:connection_profiles" + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "none", + "app_type": "spa", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ { - "description": "Update Connection Profiles", - "value": "update:connection_profiles" - }, + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/clients/feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "body": { + "name": "API Explorer Application", + "allowed_clients": [], + "app_type": "non_interactive", + "callbacks": [], + "client_aliases": [], + "client_metadata": {}, + "cross_origin_auth": false, + "cross_origin_authentication": false, + "custom_login_page_on": true, + "grant_types": [ + "client_credentials" + ], + "is_first_party": true, + "is_token_endpoint_ip_header_trusted": false, + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000 + }, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "token_endpoint_auth_method": "client_secret_post" + }, + "status": 200, + "response": { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" + } + ], + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/clients/BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "body": { + "name": "Default App", + "callbacks": [], + "cross_origin_auth": false, + "cross_origin_authentication": false, + "custom_login_page_on": true, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "is_first_party": true, + "is_token_endpoint_ip_header_trusted": false, + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000 + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false + }, + "status": 200, + "response": { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Default App", + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" + } + ], + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/clients/xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "body": { + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "allowed_origins": [], + "app_type": "regular_web", + "callbacks": [], + "client_aliases": [], + "client_metadata": {}, + "cross_origin_auth": false, + "cross_origin_authentication": false, + "custom_login_page_on": true, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "is_first_party": true, + "is_token_endpoint_ip_header_trusted": false, + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000 + }, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "token_endpoint_auth_method": "client_secret_post", + "web_origins": [] + }, + "status": 200, + "response": { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" + } + ], + "allowed_origins": [], + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "regular_web", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "web_origins": [], + "custom_login_page_on": true + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/clients/c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "body": { + "name": "Quickstarts API (Test Application)", + "app_type": "non_interactive", + "client_metadata": { + "foo": "bar" + }, + "cross_origin_auth": false, + "cross_origin_authentication": false, + "custom_login_page_on": true, + "grant_types": [ + "client_credentials" + ], + "is_first_party": true, + "is_token_endpoint_ip_header_trusted": false, + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000 + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "token_endpoint_auth_method": "client_secret_post" + }, + "status": 200, + "response": { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" + } + ], + "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/clients/3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "body": { + "name": "Terraform Provider", + "app_type": "non_interactive", + "cross_origin_auth": false, + "cross_origin_authentication": false, + "custom_login_page_on": true, + "grant_types": [ + "client_credentials" + ], + "is_first_party": true, + "is_token_endpoint_ip_header_trusted": false, + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000 + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "token_endpoint_auth_method": "client_secret_post" + }, + "status": 200, + "response": { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Terraform Provider", + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" + } + ], + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/clients/3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "body": { + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "app_type": "spa", + "callbacks": [ + "http://localhost:3000" + ], + "client_aliases": [], + "client_metadata": {}, + "cross_origin_auth": false, + "cross_origin_authentication": false, + "custom_login_page_on": true, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token" + ], + "is_first_party": true, + "is_token_endpoint_ip_header_trusted": false, + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000 + }, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, + "sso_disabled": false, + "token_endpoint_auth_method": "none", + "web_origins": [ + "http://localhost:3000" + ] + }, + "status": 200, + "response": { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" + } + ], + "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "none", + "app_type": "spa", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" + ], + "custom_login_page_on": true + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/clients/XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "body": { + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "app_type": "non_interactive", + "callbacks": [], + "client_aliases": [], + "client_metadata": {}, + "cross_origin_auth": false, + "cross_origin_authentication": false, + "custom_login_page_on": true, + "grant_types": [ + "client_credentials" + ], + "is_first_party": true, + "is_token_endpoint_ip_header_trusted": false, + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000 + }, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "token_endpoint_auth_method": "client_secret_post" + }, + "status": 200, + "response": { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" + } + ], + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/clients/ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "body": { + "name": "The Default App", + "allowed_clients": [], + "callbacks": [], + "client_aliases": [], + "client_metadata": {}, + "cross_origin_auth": false, + "cross_origin_authentication": false, + "custom_login_page_on": true, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "is_first_party": true, + "is_token_endpoint_ip_header_trusted": false, + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000 + }, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso": false, + "sso_disabled": false, + "token_endpoint_auth_method": "client_secret_post" + }, + "status": 200, + "response": { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "The Default App", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso": false, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" + } + ], + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PUT", + "path": "/api/v2/guardian/factors/otp", + "body": { + "enabled": false + }, + "status": 200, + "response": { + "enabled": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PUT", + "path": "/api/v2/guardian/factors/email", + "body": { + "enabled": false + }, + "status": 200, + "response": { + "enabled": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PUT", + "path": "/api/v2/guardian/factors/duo", + "body": { + "enabled": false + }, + "status": 200, + "response": { + "enabled": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PUT", + "path": "/api/v2/guardian/factors/recovery-code", + "body": { + "enabled": false + }, + "status": 200, + "response": { + "enabled": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PUT", + "path": "/api/v2/guardian/factors/webauthn-roaming", + "body": { + "enabled": false + }, + "status": 200, + "response": { + "enabled": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PUT", + "path": "/api/v2/guardian/factors/webauthn-platform", + "body": { + "enabled": false + }, + "status": 200, + "response": { + "enabled": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PUT", + "path": "/api/v2/guardian/factors/sms", + "body": { + "enabled": false + }, + "status": 200, + "response": { + "enabled": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PUT", + "path": "/api/v2/guardian/factors/push-notification", + "body": { + "enabled": false + }, + "status": 200, + "response": { + "enabled": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PUT", + "path": "/api/v2/guardian/factors/sms/templates", + "body": { + "enrollment_message": "enroll foo", + "verification_message": "verify foo" + }, + "status": 200, + "response": { + "enrollment_message": "enroll foo", + "verification_message": "verify foo" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PUT", + "path": "/api/v2/guardian/policies", + "body": [], + "status": 200, + "response": [], + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PUT", + "path": "/api/v2/guardian/factors/phone/selected-provider", + "body": { + "provider": "auth0" + }, + "status": 200, + "response": { + "provider": "auth0" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PUT", + "path": "/api/v2/guardian/factors/phone/message-types", + "body": { + "message_types": [] + }, + "status": 200, + "response": { + "message_types": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/prompts", + "body": { + "identifier_first": true, + "universal_login_experience": "new" + }, + "status": 200, + "response": { + "universal_login_experience": "new", + "identifier_first": true + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/actions/actions?page=0&per_page=100", + "body": "", + "status": 200, + "response": { + "actions": [ + { + "id": "4273221d-f20e-44e6-aa9d-d45702782e4e", + "name": "My Custom Action", + "supported_triggers": [ { - "description": "Delete Connection Profiles", - "value": "delete:connection_profiles" - }, + "id": "post-login", + "version": "v2" + } + ], + "created_at": "2025-12-05T14:18:53.100690661Z", + "updated_at": "2025-12-05T14:18:53.114050616Z", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "dependencies": [], + "runtime": "node18", + "status": "built", + "secrets": [], + "current_version": { + "id": "6a213299-32ce-486f-addb-5864d95ac3d9", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "runtime": "node18", + "status": "BUILT", + "number": 1, + "build_time": "2025-12-05T14:18:53.859494195Z", + "created_at": "2025-12-05T14:18:53.780088164Z", + "updated_at": "2025-12-05T14:18:53.860524296Z" + }, + "deployed_version": { + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "dependencies": [], + "id": "6a213299-32ce-486f-addb-5864d95ac3d9", + "deployed": true, + "number": 1, + "built_at": "2025-12-05T14:18:53.859494195Z", + "secrets": [], + "status": "built", + "created_at": "2025-12-05T14:18:53.780088164Z", + "updated_at": "2025-12-05T14:18:53.860524296Z", + "runtime": "node18", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ] + }, + "all_changes_deployed": true + } + ], + "total": 1, + "per_page": 100 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/actions/actions/4273221d-f20e-44e6-aa9d-d45702782e4e", + "body": { + "name": "My Custom Action", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "dependencies": [], + "runtime": "node18", + "secrets": [], + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ] + }, + "status": 200, + "response": { + "id": "4273221d-f20e-44e6-aa9d-d45702782e4e", + "name": "My Custom Action", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ], + "created_at": "2025-12-05T14:18:53.100690661Z", + "updated_at": "2025-12-05T14:24:28.025061142Z", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "dependencies": [], + "runtime": "node18", + "status": "pending", + "secrets": [], + "current_version": { + "id": "6a213299-32ce-486f-addb-5864d95ac3d9", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "runtime": "node18", + "status": "BUILT", + "number": 1, + "build_time": "2025-12-05T14:18:53.859494195Z", + "created_at": "2025-12-05T14:18:53.780088164Z", + "updated_at": "2025-12-05T14:18:53.860524296Z" + }, + "deployed_version": { + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "dependencies": [], + "id": "6a213299-32ce-486f-addb-5864d95ac3d9", + "deployed": true, + "number": 1, + "built_at": "2025-12-05T14:18:53.859494195Z", + "secrets": [], + "status": "built", + "created_at": "2025-12-05T14:18:53.780088164Z", + "updated_at": "2025-12-05T14:18:53.860524296Z", + "runtime": "node18", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ] + }, + "all_changes_deployed": true + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/actions/actions?page=0&per_page=100", + "body": "", + "status": 200, + "response": { + "actions": [ + { + "id": "4273221d-f20e-44e6-aa9d-d45702782e4e", + "name": "My Custom Action", + "supported_triggers": [ { - "value": "read:organization_client_grants", - "description": "Read Organization Client Grants" + "id": "post-login", + "version": "v2" + } + ], + "created_at": "2025-12-05T14:18:53.100690661Z", + "updated_at": "2025-12-05T14:24:28.025061142Z", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "dependencies": [], + "runtime": "node18", + "status": "built", + "secrets": [], + "current_version": { + "id": "6a213299-32ce-486f-addb-5864d95ac3d9", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "runtime": "node18", + "status": "BUILT", + "number": 1, + "build_time": "2025-12-05T14:18:53.859494195Z", + "created_at": "2025-12-05T14:18:53.780088164Z", + "updated_at": "2025-12-05T14:18:53.860524296Z" + }, + "deployed_version": { + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "dependencies": [], + "id": "6a213299-32ce-486f-addb-5864d95ac3d9", + "deployed": true, + "number": 1, + "built_at": "2025-12-05T14:18:53.859494195Z", + "secrets": [], + "status": "built", + "created_at": "2025-12-05T14:18:53.780088164Z", + "updated_at": "2025-12-05T14:18:53.860524296Z", + "runtime": "node18", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ] + }, + "all_changes_deployed": true + } + ], + "total": 1, + "per_page": 100 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "POST", + "path": "/api/v2/actions/actions/4273221d-f20e-44e6-aa9d-d45702782e4e/deploy", + "body": "", + "status": 200, + "response": { + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "dependencies": [], + "id": "f2b70924-49de-4b47-acbc-96602dd5e836", + "deployed": false, + "number": 2, + "secrets": [], + "status": "built", + "created_at": "2025-12-05T14:24:28.826233092Z", + "updated_at": "2025-12-05T14:24:28.826233092Z", + "runtime": "node18", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ], + "action": { + "id": "4273221d-f20e-44e6-aa9d-d45702782e4e", + "name": "My Custom Action", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ], + "created_at": "2025-12-05T14:18:53.100690661Z", + "updated_at": "2025-12-05T14:24:28.016621482Z", + "all_changes_deployed": false + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/bot-detection", + "body": { + "challenge_password_policy": "never", + "challenge_passwordless_policy": "never", + "challenge_password_reset_policy": "never", + "allowlist": [], + "bot_detection_level": "medium", + "monitoring_mode_enabled": false + }, + "status": 200, + "response": { + "challenge_password_policy": "never", + "challenge_passwordless_policy": "never", + "challenge_password_reset_policy": "never", + "allowlist": [], + "bot_detection_level": "medium", + "monitoring_mode_enabled": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/suspicious-ip-throttling", + "body": { + "enabled": true, + "shields": [ + "admin_notification", + "block" + ], + "allowlist": [], + "stage": { + "pre-login": { + "max_attempts": 100, + "rate": 864000 + }, + "pre-user-registration": { + "max_attempts": 50, + "rate": 1200 + } + } + }, + "status": 200, + "response": { + "enabled": true, + "shields": [ + "admin_notification", + "block" + ], + "allowlist": [], + "stage": { + "pre-login": { + "max_attempts": 100, + "rate": 864000 + }, + "pre-user-registration": { + "max_attempts": 50, + "rate": 1200 + } + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/brute-force-protection", + "body": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 10 + }, + "status": 200, + "response": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 10 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/breached-password-detection", + "body": { + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard", + "stage": { + "pre-user-registration": { + "shields": [] + }, + "pre-change-password": { + "shields": [] + } + } + }, + "status": 200, + "response": { + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard", + "stage": { + "pre-user-registration": { + "shields": [] + }, + "pre-change-password": { + "shields": [] + } + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/captcha", + "body": { + "active_provider_id": "auth_challenge", + "auth_challenge": { + "fail_open": false + } + }, + "status": 200, + "response": { + "active_provider_id": "auth_challenge", + "simple_captcha": {}, + "auth_challenge": { + "fail_open": false + }, + "recaptcha_v2": { + "site_key": "" + }, + "recaptcha_enterprise": { + "site_key": "", + "project_id": "" + }, + "hcaptcha": { + "site_key": "" + }, + "friendly_captcha": { + "site_key": "" + }, + "arkose": { + "site_key": "", + "client_subdomain": "client-api", + "verify_subdomain": "verify-api", + "fail_open": false + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/custom-domains", + "body": "", + "status": 200, + "response": [], + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/network-acls?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "total": 1, + "start": 0, + "limit": 100, + "network_acls": [ + { + "description": "Allow Specific Countries", + "active": false, + "priority": 1, + "rule": { + "match": { + "geo_country_codes": [ + "US" + ] }, - { - "value": "create:organization_client_grants", - "description": "Create Organization Client Grants" + "scope": "authentication", + "action": { + "allow": true + } + }, + "created_at": "2025-09-09T04:41:43.671Z", + "updated_at": "2025-12-05T14:18:54.912Z", + "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/network-acls/acl_wpZ6oScRU5L6QKAxMUMHmx", + "body": { + "priority": 1, + "rule": { + "match": { + "geo_country_codes": [ + "US" + ] + }, + "scope": "authentication", + "action": { + "allow": true + } + }, + "active": false, + "description": "Allow Specific Countries" + }, + "status": 200, + "response": { + "description": "Allow Specific Countries", + "active": false, + "priority": 1, + "rule": { + "match": { + "geo_country_codes": [ + "US" + ] + }, + "scope": "authentication", + "action": { + "allow": true + } + }, + "created_at": "2025-09-09T04:41:43.671Z", + "updated_at": "2025-12-05T14:24:30.497Z", + "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/user-attribute-profiles?take=10", + "body": "", + "status": 200, + "response": { + "user_attribute_profiles": [ + { + "id": "uap_1csDj3szFsgxGS1oTZTdFm", + "name": "test-user-attribute-profile-2", + "user_id": { + "oidc_mapping": "sub", + "saml_mapping": [ + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" + ], + "scim_mapping": "externalId" + }, + "user_attributes": { + "email": { + "label": "Email", + "description": "Email of the User", + "auth0_mapping": "email", + "profile_required": true + } + } + }, + { + "id": "uap_1csDj3sAVu6n5eTzLw6XZg", + "name": "test-user-attribute-profile", + "user_id": { + "oidc_mapping": "sub", + "saml_mapping": [ + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" + ], + "scim_mapping": "externalId" + }, + "user_attributes": { + "email": { + "label": "Email", + "description": "Email of the User", + "auth0_mapping": "email", + "profile_required": true + } + } + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/user-attribute-profiles/uap_1csDj3sAVu6n5eTzLw6XZg", + "body": { + "name": "test-user-attribute-profile", + "user_attributes": { + "email": { + "label": "Email", + "description": "Email of the User", + "auth0_mapping": "email", + "profile_required": true + } + }, + "user_id": { + "oidc_mapping": "sub", + "saml_mapping": [ + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" + ], + "scim_mapping": "externalId" + } + }, + "status": 200, + "response": { + "id": "uap_1csDj3sAVu6n5eTzLw6XZg", + "name": "test-user-attribute-profile", + "user_id": { + "oidc_mapping": "sub", + "saml_mapping": [ + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" + ], + "scim_mapping": "externalId" + }, + "user_attributes": { + "email": { + "label": "Email", + "description": "Email of the User", + "auth0_mapping": "email", + "profile_required": true + } + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/user-attribute-profiles/uap_1csDj3szFsgxGS1oTZTdFm", + "body": { + "name": "test-user-attribute-profile-2", + "user_attributes": { + "email": { + "label": "Email", + "description": "Email of the User", + "auth0_mapping": "email", + "profile_required": true + } + }, + "user_id": { + "oidc_mapping": "sub", + "saml_mapping": [ + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" + ], + "scim_mapping": "externalId" + } + }, + "status": 200, + "response": { + "id": "uap_1csDj3szFsgxGS1oTZTdFm", + "name": "test-user-attribute-profile-2", + "user_id": { + "oidc_mapping": "sub", + "saml_mapping": [ + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" + ], + "scim_mapping": "externalId" + }, + "user_attributes": { + "email": { + "label": "Email", + "description": "Email of the User", + "auth0_mapping": "email", + "profile_required": true + } + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "total": 10, + "start": 0, + "limit": 100, + "clients": [ + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Deploy CLI", + "is_first_party": true, + "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "cross_origin_authentication": true, + "allowed_clients": [], + "callbacks": [], + "native_social_login": { + "apple": { + "enabled": false }, + "facebook": { + "enabled": false + } + }, + "signing_keys": [ { - "value": "delete:organization_client_grants", - "description": "Delete Organization Client Grants" - }, + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials", + "implicit", + "authorization_code", + "refresh_token" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Default App", + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ { - "value": "read:security_metrics", - "description": "Read Security Metrics" + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ { - "value": "read:connections_keys", - "description": "Read connection keys" - }, + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ { - "value": "update:connections_keys", - "description": "Update connection keys" + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ { - "value": "create:connections_keys", - "description": "Create connection keys" + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" } ], - "is_system": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/clients?page=0&per_page=100&include_totals=true&is_global=false", - "body": "", - "status": 200, - "response": { - "total": 2, - "start": 0, - "limit": 100, - "clients": [ + "allowed_origins": [], + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "regular_web", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "web_origins": [], + "custom_login_page_on": true + }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", + "name": "Terraform Provider", + "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, - "sso_disabled": false, - "cross_origin_auth": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -4853,9 +8868,40 @@ "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "cross_origin_authentication": true, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "The Default App", "allowed_clients": [], "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, "native_social_login": { "apple": { "enabled": false @@ -4864,6 +8910,19 @@ "enabled": false } }, + "oidc_conformant": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso": false, + "sso_disabled": false, + "cross_origin_authentication": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -4871,7 +8930,7 @@ "subject": "deprecated" } ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4881,34 +8940,103 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", "grant_types": [ - "client_credentials", + "authorization_code", "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "none", + "app_type": "spa", + "grant_types": [ "authorization_code", + "implicit", "refresh_token" ], + "web_origins": [ + "http://localhost:3000" + ], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "Default App", + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, "sso_disabled": false, @@ -4920,7 +9048,7 @@ "subject": "deprecated" } ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4928,268 +9056,732 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/clients/wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", - "body": { - "name": "Default App", - "async_approval_notification_channels": [ - "guardian-push" - ], - "callbacks": [], - "cross_origin_auth": false, - "cross_origin_authentication": false, - "custom_login_page_on": true, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "is_first_party": true, - "is_token_endpoint_ip_header_trusted": false, - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000 - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false - }, - "status": 200, - "response": { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "Default App", - "callbacks": [], - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ + }, { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" + "tenant": "auth0-deploy-cli-e2e", + "global": true, + "callbacks": [], + "is_first_party": true, + "name": "All Applications", + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" + ], + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true } - ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PUT", - "path": "/api/v2/guardian/factors/duo", - "body": { - "enabled": false - }, - "status": 200, - "response": { - "enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-platform", - "body": { - "enabled": false - }, - "status": 200, - "response": { - "enabled": false + ] }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PUT", - "path": "/api/v2/guardian/factors/otp", - "body": { - "enabled": false - }, + "method": "GET", + "path": "/api/v2/connections?take=50&strategy=auth0", + "body": "", "status": 200, "response": { - "enabled": false + "connections": [ + { + "id": "con_bBSD5AQUW0Q5aLuE", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "import_mode": false, + "customScripts": { + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "password_history": { + "size": 5, + "enable": false + }, + "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true + }, + "strategy": "auth0", + "name": "boo-baz-db-connection-test", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "boo-baz-db-connection-test" + ], + "enabled_clients": [ + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + ] + }, + { + "id": "con_CfDqv7jPXpFqETeK", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true + }, + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "Username-Password-Authentication" + ], + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" + ] + } + ] }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PUT", - "path": "/api/v2/guardian/factors/email", - "body": { - "enabled": false - }, + "method": "GET", + "path": "/api/v2/connections?take=50&strategy=auth0", + "body": "", "status": 200, "response": { - "enabled": false + "connections": [ + { + "id": "con_bBSD5AQUW0Q5aLuE", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "import_mode": false, + "customScripts": { + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "password_history": { + "size": 5, + "enable": false + }, + "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true + }, + "strategy": "auth0", + "name": "boo-baz-db-connection-test", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "boo-baz-db-connection-test" + ], + "enabled_clients": [ + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + ] + }, + { + "id": "con_CfDqv7jPXpFqETeK", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true + }, + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "Username-Password-Authentication" + ], + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" + ] + } + ] }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PUT", - "path": "/api/v2/guardian/factors/recovery-code", - "body": { - "enabled": false - }, + "method": "GET", + "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients?take=50", + "body": "", "status": 200, "response": { - "enabled": false + "clients": [ + { + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" + }, + { + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + } + ] }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", - "body": { - "enabled": false - }, + "method": "GET", + "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients?take=50", + "body": "", "status": 200, "response": { - "enabled": false + "clients": [ + { + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + }, + { + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + } + ] }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PUT", - "path": "/api/v2/guardian/factors/sms", - "body": { - "enabled": false - }, + "method": "GET", + "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients?take=50", + "body": "", "status": 200, "response": { - "enabled": false + "clients": [ + { + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" + }, + { + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + } + ] }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PUT", - "path": "/api/v2/guardian/factors/push-notification", - "body": { - "enabled": false - }, + "method": "GET", + "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients?take=50", + "body": "", "status": 200, "response": { - "enabled": false + "clients": [ + { + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + }, + { + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + } + ] }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PUT", - "path": "/api/v2/guardian/factors/sms/templates", - "body": { - "enrollment_message": "enroll foo", - "verification_message": "verify foo" - }, + "method": "GET", + "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK", + "body": "", "status": 200, "response": { - "enrollment_message": "enroll foo", - "verification_message": "verify foo" + "id": "con_CfDqv7jPXpFqETeK", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true + }, + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" + ], + "realms": [ + "Username-Password-Authentication" + ] }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PUT", - "path": "/api/v2/guardian/policies", - "body": [], + "method": "GET", + "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE", + "body": "", "status": 200, - "response": [], + "response": { + "id": "con_bBSD5AQUW0Q5aLuE", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "import_mode": false, + "customScripts": { + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "password_history": { + "size": 5, + "enable": false + }, + "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true + }, + "strategy": "auth0", + "name": "boo-baz-db-connection-test", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "enabled_clients": [ + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + ], + "realms": [ + "boo-baz-db-connection-test" + ] + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PUT", - "path": "/api/v2/guardian/factors/phone/selected-provider", + "method": "PATCH", + "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK", "body": { - "provider": "auth0" + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" + ], + "is_domain_connection": false, + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true + }, + "realms": [ + "Username-Password-Authentication" + ] }, "status": 200, "response": { - "provider": "auth0" + "id": "con_CfDqv7jPXpFqETeK", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true + }, + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" + ], + "realms": [ + "Username-Password-Authentication" + ] }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PUT", - "path": "/api/v2/guardian/factors/phone/message-types", + "method": "PATCH", + "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE", "body": { - "message_types": [] + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "enabled_clients": [ + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + ], + "is_domain_connection": false, + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "import_mode": false, + "customScripts": { + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "password_history": { + "size": 5, + "enable": false + }, + "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true + }, + "realms": [ + "boo-baz-db-connection-test" + ] }, "status": 200, "response": { - "message_types": [] + "id": "con_bBSD5AQUW0Q5aLuE", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "import_mode": false, + "customScripts": { + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "password_history": { + "size": 5, + "enable": false + }, + "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true + }, + "strategy": "auth0", + "name": "boo-baz-db-connection-test", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "enabled_clients": [ + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + ], + "realms": [ + "boo-baz-db-connection-test" + ] }, "rawHeaders": [], "responseIsBinary": false @@ -5197,213 +9789,876 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/prompts", - "body": { - "identifier_first": true, - "universal_login_experience": "new" - }, - "status": 200, - "response": { - "universal_login_experience": "new", - "identifier_first": true - }, + "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients", + "body": [ + { + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "status": true + }, + { + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "status": true + } + ], + "status": 204, + "response": "", "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/actions/actions?page=0&per_page=100", - "body": "", - "status": 200, - "response": { - "actions": [], - "per_page": 100 - }, + "method": "PATCH", + "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients", + "body": [ + { + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "status": true + }, + { + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "status": true + } + ], + "status": 204, + "response": "", "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/actions?page=0&per_page=100", + "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { - "actions": [], - "per_page": 100 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/bot-detection", - "body": { - "challenge_password_policy": "never", - "challenge_passwordless_policy": "never", - "challenge_password_reset_policy": "never", - "allowlist": [], - "bot_detection_level": "medium", - "monitoring_mode_enabled": false - }, - "status": 200, - "response": { - "challenge_password_policy": "never", - "challenge_passwordless_policy": "never", - "challenge_password_reset_policy": "never", - "allowlist": [], - "bot_detection_level": "medium", - "monitoring_mode_enabled": false + "total": 10, + "start": 0, + "limit": 100, + "clients": [ + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Deploy CLI", + "is_first_party": true, + "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "cross_origin_authentication": true, + "allowed_clients": [], + "callbacks": [], + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials", + "implicit", + "authorization_code", + "refresh_token" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Default App", + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "allowed_origins": [], + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "regular_web", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "web_origins": [], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Terraform Provider", + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "The Default App", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso": false, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "none", + "app_type": "spa", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": true, + "callbacks": [], + "is_first_party": true, + "name": "All Applications", + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" + ], + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true + } + ] }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/brute-force-protection", - "body": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 10 - }, + "method": "GET", + "path": "/api/v2/connections?take=50", + "body": "", "status": 200, "response": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 10 + "connections": [ + { + "id": "con_bBSD5AQUW0Q5aLuE", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "import_mode": false, + "customScripts": { + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "password_history": { + "size": 5, + "enable": false + }, + "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true + }, + "strategy": "auth0", + "name": "boo-baz-db-connection-test", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "boo-baz-db-connection-test" + ], + "enabled_clients": [ + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + ] + }, + { + "id": "con_yGZ6rzfkdR6mMBoE", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + }, + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "google-oauth2" + ], + "enabled_clients": [ + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" + ] + }, + { + "id": "con_CfDqv7jPXpFqETeK", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true + }, + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "Username-Password-Authentication" + ], + "enabled_clients": [ + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + ] + } + ] }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/captcha", - "body": { - "active_provider_id": "auth_challenge", - "auth_challenge": { - "fail_open": false - } - }, + "method": "GET", + "path": "/api/v2/connections?take=50", + "body": "", "status": 200, "response": { - "active_provider_id": "auth_challenge", - "simple_captcha": {}, - "auth_challenge": { - "fail_open": false - }, - "recaptcha_v2": { - "site_key": "" - }, - "recaptcha_enterprise": { - "site_key": "", - "project_id": "" - }, - "hcaptcha": { - "site_key": "" - }, - "friendly_captcha": { - "site_key": "" - }, - "arkose": { - "site_key": "", - "client_subdomain": "client-api", - "verify_subdomain": "verify-api", - "fail_open": false - } - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/suspicious-ip-throttling", - "body": { - "enabled": true, - "shields": [ - "admin_notification", - "block" - ], - "allowlist": [], - "stage": { - "pre-login": { - "max_attempts": 100, - "rate": 864000 + "connections": [ + { + "id": "con_bBSD5AQUW0Q5aLuE", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "import_mode": false, + "customScripts": { + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "password_history": { + "size": 5, + "enable": false + }, + "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true + }, + "strategy": "auth0", + "name": "boo-baz-db-connection-test", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "boo-baz-db-connection-test" + ], + "enabled_clients": [ + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + ] }, - "pre-user-registration": { - "max_attempts": 50, - "rate": 1200 - } - } - }, - "status": 200, - "response": { - "enabled": true, - "shields": [ - "admin_notification", - "block" - ], - "allowlist": [], - "stage": { - "pre-login": { - "max_attempts": 100, - "rate": 864000 + { + "id": "con_yGZ6rzfkdR6mMBoE", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + }, + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "google-oauth2" + ], + "enabled_clients": [ + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" + ] }, - "pre-user-registration": { - "max_attempts": 50, - "rate": 1200 + { + "id": "con_CfDqv7jPXpFqETeK", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true + }, + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "Username-Password-Authentication" + ], + "enabled_clients": [ + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + ] } - } + ] }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/breached-password-detection", - "body": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard", - "stage": { - "pre-user-registration": { - "shields": [] - }, - "pre-change-password": { - "shields": [] - } - } - }, + "method": "GET", + "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients?take=50", + "body": "", "status": 200, "response": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard", - "stage": { - "pre-user-registration": { - "shields": [] + "clients": [ + { + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" }, - "pre-change-password": { - "shields": [] + { + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" } - } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -5411,42 +10666,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/custom-domains", - "body": "", - "status": 200, - "response": [], - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/network-acls?page=0&per_page=100&include_totals=true", + "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients?take=50", "body": "", "status": 200, "response": { - "total": 1, - "start": 0, - "limit": 100, - "network_acls": [ + "clients": [ { - "description": "Allow Specific Countries", - "active": false, - "priority": 1, - "rule": { - "match": { - "geo_country_codes": [ - "US" - ] - }, - "scope": "authentication", - "action": { - "allow": true - } - }, - "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-11-18T03:34:46.530Z", - "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + }, + { + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" } ] }, @@ -5456,146 +10685,89 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/network-acls/acl_wpZ6oScRU5L6QKAxMUMHmx", + "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE", "body": { - "priority": 1, - "rule": { - "match": { - "geo_country_codes": [ - "US" - ] - }, - "scope": "authentication", - "action": { - "allow": true - } + "authentication": { + "active": true }, - "active": false, - "description": "Allow Specific Countries" + "connected_accounts": { + "active": false + }, + "enabled_clients": [ + "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + ], + "is_domain_connection": false, + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + } }, "status": 200, "response": { - "description": "Allow Specific Countries", - "active": false, - "priority": 1, - "rule": { - "match": { - "geo_country_codes": [ - "US" - ] - }, - "scope": "authentication", - "action": { - "allow": true - } + "id": "con_yGZ6rzfkdR6mMBoE", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true }, - "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-11-18T04:41:07.750Z", - "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "enabled_clients": [ + "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + ], + "realms": [ + "google-oauth2" + ] }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/user-attribute-profiles?take=10", - "body": "", - "status": 200, - "response": { - "user_attribute_profiles": [ - { - "id": "uap_1csDj3szFsgxGS1oTZTdFm", - "name": "test-user-attribute-profile-2", - "user_id": { - "oidc_mapping": "sub", - "saml_mapping": [ - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" - ], - "scim_mapping": "externalId" - }, - "user_attributes": { - "email": { - "label": "Email", - "description": "Email of the User", - "auth0_mapping": "email", - "profile_required": true - } - } - }, - { - "id": "uap_1csDj3sAVu6n5eTzLw6XZg", - "name": "test-user-attribute-profile", - "user_id": { - "oidc_mapping": "sub", - "saml_mapping": [ - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" - ], - "scim_mapping": "externalId" - }, - "user_attributes": { - "email": { - "label": "Email", - "description": "Email of the User", - "auth0_mapping": "email", - "profile_required": true - } - } - } - ] - }, + "method": "PATCH", + "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients", + "body": [ + { + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "status": true + }, + { + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "status": true + } + ], + "status": 204, + "response": "", "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/user-attribute-profiles/uap_1csDj3szFsgxGS1oTZTdFm", - "body": { - "name": "test-user-attribute-profile-2", - "user_attributes": { - "email": { - "label": "Email", - "description": "Email of the User", - "auth0_mapping": "email", - "profile_required": true - } - }, - "user_id": { - "oidc_mapping": "sub", - "saml_mapping": [ - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" - ], - "scim_mapping": "externalId" - } - }, + "method": "GET", + "path": "/api/v2/emails/provider?fields=name%2Cenabled%2Ccredentials%2Csettings%2Cdefault_from_address&include_fields=true", + "body": "", "status": 200, "response": { - "id": "uap_1csDj3szFsgxGS1oTZTdFm", - "name": "test-user-attribute-profile-2", - "user_id": { - "oidc_mapping": "sub", - "saml_mapping": [ - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" - ], - "scim_mapping": "externalId" - }, - "user_attributes": { - "email": { - "label": "Email", - "description": "Email of the User", - "auth0_mapping": "email", - "profile_required": true - } - } + "name": "mandrill", + "credentials": {}, + "default_from_address": "auth0-user@auth0.com", + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -5603,48 +10775,21 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/user-attribute-profiles/uap_1csDj3sAVu6n5eTzLw6XZg", + "path": "/api/v2/emails/provider", "body": { - "name": "test-user-attribute-profile", - "user_attributes": { - "email": { - "label": "Email", - "description": "Email of the User", - "auth0_mapping": "email", - "profile_required": true - } + "name": "mandrill", + "credentials": { + "api_key": "##MANDRILL_API_KEY##" }, - "user_id": { - "oidc_mapping": "sub", - "saml_mapping": [ - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" - ], - "scim_mapping": "externalId" - } + "default_from_address": "auth0-user@auth0.com", + "enabled": false }, "status": 200, "response": { - "id": "uap_1csDj3sAVu6n5eTzLw6XZg", - "name": "test-user-attribute-profile", - "user_id": { - "oidc_mapping": "sub", - "saml_mapping": [ - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" - ], - "scim_mapping": "externalId" - }, - "user_attributes": { - "email": { - "label": "Email", - "description": "Email of the User", - "auth0_mapping": "email", - "profile_required": true - } - } + "name": "mandrill", + "credentials": {}, + "default_from_address": "auth0-user@auth0.com", + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -5656,7 +10801,7 @@ "body": "", "status": 200, "response": { - "total": 3, + "total": 10, "start": 0, "limit": 100, "clients": [ @@ -5664,11 +10809,264 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", + "name": "Deploy CLI", + "is_first_party": true, + "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "cross_origin_authentication": true, + "allowed_clients": [], + "callbacks": [], + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials", + "implicit", + "authorization_code", + "refresh_token" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Default App", + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "allowed_origins": [], + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "regular_web", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "web_origins": [], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Terraform Provider", + "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, - "sso_disabled": false, - "cross_origin_auth": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -5678,9 +11076,40 @@ "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "cross_origin_authentication": true, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "The Default App", "allowed_clients": [], "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, "native_social_login": { "apple": { "enabled": false @@ -5689,6 +11118,19 @@ "enabled": false } }, + "oidc_conformant": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso": false, + "sso_disabled": false, + "cross_origin_authentication": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -5696,7 +11138,7 @@ "subject": "deprecated" } ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5706,34 +11148,103 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", "grant_types": [ - "client_credentials", + "authorization_code", "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "none", + "app_type": "spa", + "grant_types": [ "authorization_code", + "implicit", "refresh_token" ], + "web_origins": [ + "http://localhost:3000" + ], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "Default App", + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, "sso_disabled": false, @@ -5745,7 +11256,7 @@ "subject": "deprecated" } ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5753,10 +11264,10 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -5806,251 +11317,522 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?take=50&strategy=auth0", - "body": "", - "status": 200, - "response": { - "connections": [ - { - "id": "con_YQIQ8h72LqqSXD75", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?take=50&strategy=auth0", + "path": "/api/v2/client-grants?take=50", "body": "", "status": 200, "response": { - "connections": [ + "client_grants": [ { - "id": "con_YQIQ8h72LqqSXD75", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" + "id": "cgr_JYmQHwQEXGDCc53P", + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ - { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "subject_type": "client" }, { - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ - { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "id": "cgr_ReJeayDzA8FTvFPY", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ], + "subject_type": "client" }, { - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75", - "body": "", - "status": 200, - "response": { - "id": "con_YQIQ8h72LqqSXD75", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" - ], - "realms": [ - "Username-Password-Authentication" - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75", - "body": { - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" - ], - "is_domain_connection": false, - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "realms": [ - "Username-Password-Authentication" - ] - }, - "status": 200, - "response": { - "id": "con_YQIQ8h72LqqSXD75", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" - ], - "realms": [ - "Username-Password-Authentication" + "id": "cgr_pbwejzhwoujrsNE8", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:client_credentials", + "update:client_credentials", + "delete:client_credentials", + "create:client_credentials", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations_summary", + "create:authentication_methods", + "read:authentication_methods", + "update:authentication_methods", + "delete:authentication_methods", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "read:organization_discovery_domains", + "update:organization_discovery_domains", + "create:organization_discovery_domains", + "delete:organization_discovery_domains", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations", + "read:scim_config", + "create:scim_config", + "update:scim_config", + "delete:scim_config", + "create:scim_token", + "read:scim_token", + "delete:scim_token", + "delete:phone_providers", + "create:phone_providers", + "read:phone_providers", + "update:phone_providers", + "delete:phone_templates", + "create:phone_templates", + "read:phone_templates", + "update:phone_templates", + "create:encryption_keys", + "read:encryption_keys", + "update:encryption_keys", + "delete:encryption_keys", + "read:sessions", + "update:sessions", + "delete:sessions", + "read:refresh_tokens", + "delete:refresh_tokens", + "create:self_service_profiles", + "read:self_service_profiles", + "update:self_service_profiles", + "delete:self_service_profiles", + "create:sso_access_tickets", + "delete:sso_access_tickets", + "read:forms", + "update:forms", + "delete:forms", + "create:forms", + "read:flows", + "update:flows", + "delete:flows", + "create:flows", + "read:flows_vault", + "read:flows_vault_connections", + "update:flows_vault_connections", + "delete:flows_vault_connections", + "create:flows_vault_connections", + "read:flows_executions", + "delete:flows_executions", + "read:connections_options", + "update:connections_options", + "read:self_service_profile_custom_texts", + "update:self_service_profile_custom_texts", + "create:network_acls", + "update:network_acls", + "read:network_acls", + "delete:network_acls", + "delete:vdcs_templates", + "read:vdcs_templates", + "create:vdcs_templates", + "update:vdcs_templates", + "create:custom_signing_keys", + "read:custom_signing_keys", + "update:custom_signing_keys", + "delete:custom_signing_keys", + "read:federated_connections_tokens", + "delete:federated_connections_tokens", + "create:user_attribute_profiles", + "read:user_attribute_profiles", + "update:user_attribute_profiles", + "delete:user_attribute_profiles", + "read:event_streams", + "create:event_streams", + "delete:event_streams", + "update:event_streams", + "read:event_deliveries", + "update:event_deliveries", + "create:connection_profiles", + "read:connection_profiles", + "update:connection_profiles", + "delete:connection_profiles", + "read:organization_client_grants", + "create:organization_client_grants", + "delete:organization_client_grants", + "read:security_metrics", + "read:connections_keys", + "update:connections_keys", + "create:connections_keys" + ], + "subject_type": "client" + } ] }, "rawHeaders": [], @@ -6059,241 +11841,595 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75/clients", - "body": [ - { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "status": true - }, - { - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", - "status": true - } - ], - "status": 204, - "response": "", - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", - "body": "", - "status": 200, - "response": { - "total": 3, - "start": 0, - "limit": 100, - "clients": [ - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", - "is_first_party": true, - "oidc_conformant": true, - "sso_disabled": false, - "cross_origin_auth": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "cross_origin_authentication": true, - "allowed_clients": [], - "callbacks": [], - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials", - "implicit", - "authorization_code", - "refresh_token" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "Default App", - "callbacks": [], - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], - "is_first_party": true, - "name": "All Applications", - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true - } + "path": "/api/v2/client-grants/cgr_ReJeayDzA8FTvFPY", + "body": { + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ] + }, + "status": 200, + "response": { + "id": "cgr_ReJeayDzA8FTvFPY", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ], + "subject_type": "client" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/client-grants/cgr_JYmQHwQEXGDCc53P", + "body": { + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" ] }, + "status": 200, + "response": { + "id": "cgr_JYmQHwQEXGDCc53P", + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ], + "subject_type": "client" + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?take=50", + "path": "/api/v2/roles?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { - "connections": [ + "roles": [ { - "id": "con_TZft9UmXrtdJXHZN", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "realms": [ - "google-oauth2" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" - ] + "id": "rol_EH7ASyHIXKqKPc4X", + "name": "Admin", + "description": "Can read and write things" }, { - "id": "con_YQIQ8h72LqqSXD75", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" - ] + "id": "rol_WHMW5tI8GYuTShEL", + "name": "Reader", + "description": "Can only read things" + }, + { + "id": "rol_dkoJYFPEbm4fBQUa", + "name": "read_only", + "description": "Read Only" + }, + { + "id": "rol_6mNIPtAC2wBSBD7S", + "name": "read_osnly", + "description": "Readz Only" } - ] + ], + "start": 0, + "limit": 100, + "total": 4 }, "rawHeaders": [], "responseIsBinary": false @@ -6301,87 +12437,187 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?take=50", + "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { - "connections": [ - { - "id": "con_TZft9UmXrtdJXHZN", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "realms": [ - "google-oauth2" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" - ] - }, - { - "id": "con_YQIQ8h72LqqSXD75", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" - ] - } - ] + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X", + "body": { + "name": "Admin", + "description": "Can read and write things" + }, + "status": 200, + "response": { + "id": "rol_EH7ASyHIXKqKPc4X", + "name": "Admin", + "description": "Can read and write things" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL", + "body": { + "name": "Reader", + "description": "Can only read things" + }, + "status": 200, + "response": { + "id": "rol_WHMW5tI8GYuTShEL", + "name": "Reader", + "description": "Can only read things" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa", + "body": { + "name": "read_only", + "description": "Read Only" + }, + "status": 200, + "response": { + "id": "rol_dkoJYFPEbm4fBQUa", + "name": "read_only", + "description": "Read Only" }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN/clients?take=50", - "body": "", + "method": "PATCH", + "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S", + "body": { + "name": "read_osnly", + "description": "Readz Only" + }, "status": 200, "response": { - "clients": [ - { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - }, - { - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" - } - ] + "id": "rol_6mNIPtAC2wBSBD7S", + "name": "read_osnly", + "description": "Readz Only" }, "rawHeaders": [], "responseIsBinary": false @@ -6389,62 +12625,114 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN/clients?take=50", + "path": "/api/v2/self-service-profiles?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { - "clients": [ - { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - }, + "self_service_profiles": [ { - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "id": "ssp_f6qt3syGauLKbSgt6GRLim", + "name": "self-service-profile-1", + "description": "test description self-service-profile-1", + "user_attributes": [ + { + "name": "email", + "description": "Email of the User", + "is_optional": false + }, + { + "name": "name", + "description": "Name of the User", + "is_optional": true + } + ], + "allowed_strategies": [ + "google-apps", + "okta" + ], + "created_at": "2024-11-26T11:58:18.962Z", + "updated_at": "2025-12-05T14:19:10.944Z", + "branding": { + "colors": { + "primary": "#19aecc" + } + } } - ] + ], + "start": 0, + "limit": 100, + "total": 1 }, "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/self-service-profiles/ssp_f6qt3syGauLKbSgt6GRLim/custom-text/en/get-started", + "body": "", + "status": 200, + "response": {}, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN", + "path": "/api/v2/self-service-profiles/ssp_f6qt3syGauLKbSgt6GRLim", "body": { - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "name": "self-service-profile-1", + "allowed_strategies": [ + "google-apps", + "okta" ], - "is_domain_connection": false, - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - } + "branding": { + "colors": { + "primary": "#19aecc" + } + }, + "description": "test description self-service-profile-1", + "user_attributes": [ + { + "name": "email", + "description": "Email of the User", + "is_optional": false + }, + { + "name": "name", + "description": "Name of the User", + "is_optional": true + } + ] }, "status": 200, "response": { - "id": "con_TZft9UmXrtdJXHZN", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "id": "ssp_f6qt3syGauLKbSgt6GRLim", + "name": "self-service-profile-1", + "description": "test description self-service-profile-1", + "user_attributes": [ + { + "name": "email", + "description": "Email of the User", + "is_optional": false + }, + { + "name": "name", + "description": "Name of the User", + "is_optional": true + } ], - "realms": [ - "google-oauth2" - ] + "allowed_strategies": [ + "google-apps", + "okta" + ], + "created_at": "2024-11-26T11:58:18.962Z", + "updated_at": "2025-12-05T14:24:44.076Z", + "branding": { + "colors": { + "primary": "#19aecc" + } + } }, "rawHeaders": [], "responseIsBinary": false @@ -6452,32 +12740,52 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN/clients", - "body": [ - { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "status": true - }, - { - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", - "status": true - } - ], - "status": 204, - "response": "", + "path": "/api/v2/email-templates/verify_email", + "body": { + "template": "verify_email", + "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", + "enabled": true, + "from": "", + "subject": "", + "syntax": "liquid", + "urlLifetimeInSeconds": 432000 + }, + "status": 200, + "response": { + "template": "verify_email", + "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", + "from": "", + "subject": "", + "syntax": "liquid", + "urlLifetimeInSeconds": 432000, + "enabled": true + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/emails/provider?fields=name%2Cenabled%2Ccredentials%2Csettings%2Cdefault_from_address&include_fields=true", - "body": "", + "method": "PATCH", + "path": "/api/v2/email-templates/welcome_email", + "body": { + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "enabled": false, + "from": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", + "syntax": "liquid", + "urlLifetimeInSeconds": 3600 + }, "status": 200, "response": { - "name": "mandrill", - "credentials": {}, - "default_from_address": "auth0-user@auth0.com", + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "from": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", + "syntax": "liquid", + "urlLifetimeInSeconds": 3600, "enabled": false }, "rawHeaders": [], @@ -6486,21 +12794,50 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/emails/provider", + "path": "/api/v2/branding", "body": { - "name": "mandrill", - "credentials": { - "api_key": "##MANDRILL_API_KEY##" + "colors": { + "primary": "#F8F8F2", + "page_background": "#222221" }, - "default_from_address": "auth0-user@auth0.com", - "enabled": false + "logo_url": "https://upload.wikimedia.org/wikipedia/commons/0/0d/Grandmas_marathon_finishers.png" }, "status": 200, "response": { - "name": "mandrill", - "credentials": {}, - "default_from_address": "auth0-user@auth0.com", - "enabled": false + "colors": { + "primary": "#F8F8F2", + "page_background": "#222221" + }, + "logo_url": "https://upload.wikimedia.org/wikipedia/commons/0/0d/Grandmas_marathon_finishers.png" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations?take=50", + "body": "", + "status": 200, + "response": { + "organizations": [ + { + "id": "org_fIRF1it8cTOyf2yS", + "name": "org1", + "display_name": "Organization", + "branding": { + "colors": { + "page_background": "#fff5f5", + "primary": "#57ddff" + } + } + }, + { + "id": "org_hWOYWXtnxIpJ0MX3", + "name": "org2", + "display_name": "Organization2" + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -6512,7 +12849,7 @@ "body": "", "status": 200, "response": { - "total": 3, + "total": 10, "start": 0, "limit": 100, "clients": [ @@ -6520,23 +12857,110 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", + "name": "Deploy CLI", + "is_first_party": true, + "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "cross_origin_authentication": true, + "allowed_clients": [], + "callbacks": [], + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials", + "implicit", + "authorization_code", + "refresh_token" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Default App", + "callbacks": [], + "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, - "sso_disabled": false, - "cross_origin_auth": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, - "cross_origin_authentication": true, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", "allowed_clients": [], "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, "native_social_login": { "apple": { "enabled": false @@ -6545,6 +12969,18 @@ "enabled": false } }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -6552,7 +12988,7 @@ "subject": "deprecated" } ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6564,10 +13000,7 @@ "token_endpoint_auth_method": "client_secret_post", "app_type": "non_interactive", "grant_types": [ - "client_credentials", - "implicit", - "authorization_code", - "refresh_token" + "client_credentials" ], "custom_login_page_on": true }, @@ -6575,21 +13008,73 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "name": "Default App", + "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, "sso_disabled": false, @@ -6601,7 +13086,8 @@ "subject": "deprecated" } ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "allowed_origins": [], + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6609,20 +13095,78 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "regular_web", "grant_types": [ "authorization_code", "implicit", "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", - "global": true, + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Terraform Provider", + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "The Default App", + "allowed_clients": [], "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, "is_first_party": true, - "name": "All Applications", + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -6632,17 +13176,69 @@ "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" + "sso": false, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -6650,257 +13246,116 @@ "subject": "deprecated" } ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "callback_url_template": false, "client_secret": "[REDACTED]", - "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/client-grants?take=50", - "body": "", - "status": 200, - "response": { - "client_grants": [ - { - "id": "cgr_pbwejzhwoujrsNE8", - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:client_credentials", - "update:client_credentials", - "delete:client_credentials", - "create:client_credentials", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations_summary", - "create:authentication_methods", - "read:authentication_methods", - "update:authentication_methods", - "delete:authentication_methods", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "read:organization_discovery_domains", - "update:organization_discovery_domains", - "create:organization_discovery_domains", - "delete:organization_discovery_domains", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations", - "read:scim_config", - "create:scim_config", - "update:scim_config", - "delete:scim_config", - "create:scim_token", - "read:scim_token", - "delete:scim_token", - "delete:phone_providers", - "create:phone_providers", - "read:phone_providers", - "update:phone_providers", - "delete:phone_templates", - "create:phone_templates", - "read:phone_templates", - "update:phone_templates", - "create:encryption_keys", - "read:encryption_keys", - "update:encryption_keys", - "delete:encryption_keys", - "read:sessions", - "update:sessions", - "delete:sessions", - "read:refresh_tokens", - "delete:refresh_tokens", - "create:self_service_profiles", - "read:self_service_profiles", - "update:self_service_profiles", - "delete:self_service_profiles", - "create:sso_access_tickets", - "delete:sso_access_tickets", - "read:forms", - "update:forms", - "delete:forms", - "create:forms", - "read:flows", - "update:flows", - "delete:flows", - "create:flows", - "read:flows_vault", - "read:flows_vault_connections", - "update:flows_vault_connections", - "delete:flows_vault_connections", - "create:flows_vault_connections", - "read:flows_executions", - "delete:flows_executions", - "read:connections_options", - "update:connections_options", - "read:self_service_profile_custom_texts", - "update:self_service_profile_custom_texts", - "create:network_acls", - "update:network_acls", - "read:network_acls", - "delete:network_acls", - "delete:vdcs_templates", - "read:vdcs_templates", - "create:vdcs_templates", - "update:vdcs_templates", - "create:custom_signing_keys", - "read:custom_signing_keys", - "update:custom_signing_keys", - "delete:custom_signing_keys", - "read:federated_connections_tokens", - "delete:federated_connections_tokens", - "create:user_attribute_profiles", - "read:user_attribute_profiles", - "update:user_attribute_profiles", - "delete:user_attribute_profiles", - "read:event_streams", - "create:event_streams", - "delete:event_streams", - "update:event_streams", - "read:event_deliveries", - "update:event_deliveries", - "create:connection_profiles", - "read:connection_profiles", - "update:connection_profiles", - "delete:connection_profiles", - "read:organization_client_grants", - "create:organization_client_grants", - "delete:organization_client_grants", - "read:security_metrics", - "read:connections_keys", - "update:connections_keys", - "create:connections_keys" + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "none", + "app_type": "spa", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token" ], - "subject_type": "client" + "web_origins": [ + "http://localhost:3000" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": true, + "callbacks": [], + "is_first_party": true, + "name": "All Applications", + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" + ], + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true } ] }, @@ -6910,13 +13365,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles?per_page=100&page=0&include_totals=true", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "roles": [], + "enabled_connections": [], "start": 0, - "limit": 100, + "limit": 0, "total": 0 }, "rawHeaders": [], @@ -6925,43 +13380,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/self-service-profiles?page=0&per_page=100&include_totals=true", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "self_service_profiles": [ - { - "id": "ssp_f6qt3syGauLKbSgt6GRLim", - "name": "self-service-profile-1", - "description": "test description self-service-profile-1", - "user_attributes": [ - { - "name": "email", - "description": "Email of the User", - "is_optional": false - }, - { - "name": "name", - "description": "Name of the User", - "is_optional": true - } - ], - "allowed_strategies": [ - "google-apps", - "okta" - ], - "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-10-31T14:59:23.732Z", - "branding": { - "colors": { - "primary": "#19aecc" - } - } - } - ], + "enabled_connections": [], "start": 0, - "limit": 100, - "total": 1 + "limit": 0, + "total": 0 }, "rawHeaders": [], "responseIsBinary": false @@ -6969,146 +13395,137 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/self-service-profiles/ssp_f6qt3syGauLKbSgt6GRLim/custom-text/en/get-started", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, - "response": {}, + "response": { + "client_grants": [], + "start": 0, + "limit": 50, + "total": 0 + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/self-service-profiles/ssp_f6qt3syGauLKbSgt6GRLim", - "body": { - "name": "self-service-profile-1", - "allowed_strategies": [ - "google-apps", - "okta" - ], - "branding": { - "colors": { - "primary": "#19aecc" - } - }, - "description": "test description self-service-profile-1", - "user_attributes": [ - { - "name": "email", - "description": "Email of the User", - "is_optional": false - }, - { - "name": "name", - "description": "Name of the User", - "is_optional": true - } - ] + "method": "GET", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/client-grants?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "client_grants": [], + "start": 0, + "limit": 50, + "total": 0 }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/discovery-domains?take=50", + "body": "", "status": 200, "response": { - "id": "ssp_f6qt3syGauLKbSgt6GRLim", - "name": "self-service-profile-1", - "description": "test description self-service-profile-1", - "user_attributes": [ - { - "name": "email", - "description": "Email of the User", - "is_optional": false - }, - { - "name": "name", - "description": "Name of the User", - "is_optional": true - } - ], - "allowed_strategies": [ - "google-apps", - "okta" - ], - "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-11-18T04:41:17.205Z", - "branding": { - "colors": { - "primary": "#19aecc" - } - } + "domains": [] }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/email-templates/verify_email", - "body": { - "template": "verify_email", - "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", - "enabled": true, - "from": "", - "subject": "", - "syntax": "liquid", - "urlLifetimeInSeconds": 432000 + "method": "GET", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/discovery-domains?take=50", + "body": "", + "status": 200, + "response": { + "domains": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/enabled_connections?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "enabled_connections": [], + "start": 0, + "limit": 0, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/enabled_connections?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "enabled_connections": [], + "start": 0, + "limit": 0, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/client-grants?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "client_grants": [], + "start": 0, + "limit": 50, + "total": 0 }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/client-grants?page=0&per_page=50&include_totals=true", + "body": "", "status": 200, "response": { - "template": "verify_email", - "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", - "from": "", - "subject": "", - "syntax": "liquid", - "urlLifetimeInSeconds": 432000, - "enabled": true + "client_grants": [], + "start": 0, + "limit": 50, + "total": 0 }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/email-templates/welcome_email", - "body": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "enabled": false, - "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600 - }, + "method": "GET", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/discovery-domains?take=50", + "body": "", "status": 200, "response": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false + "domains": [] }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/branding", - "body": { - "colors": { - "primary": "#F8F8F2", - "page_background": "#222221" - }, - "logo_url": "https://upload.wikimedia.org/wikipedia/commons/0/0d/Grandmas_marathon_finishers.png" - }, + "method": "GET", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/discovery-domains?take=50", + "body": "", "status": 200, "response": { - "colors": { - "primary": "#F8F8F2", - "page_background": "#222221" - }, - "logo_url": "https://upload.wikimedia.org/wikipedia/commons/0/0d/Grandmas_marathon_finishers.png" + "domains": [] }, "rawHeaders": [], "responseIsBinary": false @@ -7116,11 +13533,149 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations?take=50", + "path": "/api/v2/connections?take=50", "body": "", "status": 200, "response": { - "organizations": [] + "connections": [ + { + "id": "con_bBSD5AQUW0Q5aLuE", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "import_mode": false, + "customScripts": { + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "password_history": { + "size": 5, + "enable": false + }, + "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true + }, + "strategy": "auth0", + "name": "boo-baz-db-connection-test", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "boo-baz-db-connection-test" + ], + "enabled_clients": [ + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + ] + }, + { + "id": "con_yGZ6rzfkdR6mMBoE", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + }, + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "google-oauth2" + ], + "enabled_clients": [ + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" + ] + }, + { + "id": "con_CfDqv7jPXpFqETeK", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true + }, + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "Username-Password-Authentication" + ], + "enabled_clients": [ + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + ] + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -7132,7 +13687,7 @@ "body": "", "status": 200, "response": { - "total": 3, + "total": 10, "start": 0, "limit": 100, "clients": [ @@ -7140,11 +13695,164 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", + "name": "Deploy CLI", + "is_first_party": true, + "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "cross_origin_authentication": true, + "allowed_clients": [], + "callbacks": [], + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials", + "implicit", + "authorization_code", + "refresh_token" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Default App", + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, + "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, - "sso_disabled": false, - "cross_origin_auth": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -7154,9 +13862,41 @@ "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "cross_origin_authentication": true, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", "allowed_clients": [], + "allowed_logout_urls": [], "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, "native_social_login": { "apple": { "enabled": false @@ -7165,6 +13905,18 @@ "enabled": false } }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -7172,7 +13924,8 @@ "subject": "deprecated" } ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "allowed_origins": [], + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7182,24 +13935,21 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ - "client_credentials", - "implicit", "authorization_code", - "refresh_token" + "implicit", + "refresh_token", + "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "Default App", - "callbacks": [], + "name": "Terraform Provider", "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, @@ -7208,8 +13958,8 @@ "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, "sso_disabled": false, @@ -7221,7 +13971,7 @@ "subject": "deprecated" } ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7229,20 +13979,32 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", - "global": true, + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "The Default App", + "allowed_clients": [], "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, "is_first_party": true, - "name": "All Applications", + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -7252,17 +14014,9 @@ "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, + "sso": false, + "sso_disabled": false, + "cross_origin_authentication": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -7270,104 +14024,106 @@ "subject": "deprecated" } ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "callback_url_template": false, "client_secret": "[REDACTED]", - "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?take=50", - "body": "", - "status": 200, - "response": { - "connections": [ - { - "id": "con_TZft9UmXrtdJXHZN", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "realms": [ - "google-oauth2" + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" - ] + "custom_login_page_on": true }, { - "id": "con_YQIQ8h72LqqSXD75", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false }, - "brute_force_protection": true + "facebook": { + "enabled": false + } }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", - "body": "", - "status": 200, - "response": { - "total": 3, - "start": 0, - "limit": 100, - "clients": [ + "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "none", + "app_type": "spa", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" + ], + "custom_login_page_on": true + }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, - "sso_disabled": false, - "cross_origin_auth": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -7377,17 +14133,8 @@ "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "cross_origin_authentication": true, - "allowed_clients": [], - "callbacks": [], - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, + "sso_disabled": false, + "cross_origin_authentication": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -7395,7 +14142,7 @@ "subject": "deprecated" } ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7407,25 +14154,16 @@ "token_endpoint_auth_method": "client_secret_post", "app_type": "non_interactive", "grant_types": [ - "client_credentials", - "implicit", - "authorization_code", - "refresh_token" + "client_credentials" ], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], - "name": "Default App", + "global": true, "callbacks": [], - "cross_origin_auth": false, "is_first_party": true, - "oidc_conformant": true, + "name": "All Applications", "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -7435,8 +14173,17 @@ "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, - "sso_disabled": false, - "cross_origin_authentication": false, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" + ], + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, "signing_keys": [ { "cert": "[REDACTED]", @@ -7444,72 +14191,299 @@ "subject": "deprecated" } ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", - "callback_url_template": false, + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" + "custom_login_page_on": true + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/client-grants?take=50", + "body": "", + "status": 200, + "response": { + "client_grants": [ + { + "id": "cgr_JYmQHwQEXGDCc53P", + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ], + "subject_type": "client" + }, + { + "id": "cgr_ReJeayDzA8FTvFPY", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" ], - "custom_login_page_on": true + "subject_type": "client" }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], - "is_first_party": true, - "name": "All Applications", - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/client-grants?take=50", - "body": "", - "status": 200, - "response": { - "client_grants": [ { "id": "cgr_pbwejzhwoujrsNE8", "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", @@ -7750,13 +14724,248 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3", + "body": { + "display_name": "Organization2" + }, + "status": 200, + "response": { + "id": "org_hWOYWXtnxIpJ0MX3", + "display_name": "Organization2", + "name": "org2" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS", + "body": { + "branding": { + "colors": { + "page_background": "#fff5f5", + "primary": "#57ddff" + } + }, + "display_name": "Organization" + }, + "status": 200, + "response": { + "branding": { + "colors": { + "page_background": "#fff5f5", + "primary": "#57ddff" + } + }, + "id": "org_fIRF1it8cTOyf2yS", + "display_name": "Organization", + "name": "org1" + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", "path": "/api/v2/log-streams", "body": "", "status": 200, - "response": [], + "response": [ + { + "id": "lst_0000000000025431", + "name": "Suspended DD Log Stream", + "type": "datadog", + "status": "active", + "sink": { + "datadogApiKey": "some-sensitive-api-key", + "datadogRegion": "us" + }, + "isPriority": false + }, + { + "id": "lst_0000000000025432", + "name": "Amazon EventBridge", + "type": "eventbridge", + "status": "active", + "sink": { + "awsAccountId": "123456789012", + "awsRegion": "us-east-2", + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-84b807b2-8a87-4d4b-87eb-ff1b56370b3a/auth0.logs" + }, + "filters": [ + { + "type": "category", + "name": "auth.login.success" + }, + { + "type": "category", + "name": "auth.login.notification" + }, + { + "type": "category", + "name": "auth.login.fail" + }, + { + "type": "category", + "name": "auth.signup.success" + }, + { + "type": "category", + "name": "auth.logout.success" + }, + { + "type": "category", + "name": "auth.logout.fail" + }, + { + "type": "category", + "name": "auth.silent_auth.fail" + }, + { + "type": "category", + "name": "auth.silent_auth.success" + }, + { + "type": "category", + "name": "auth.token_exchange.fail" + } + ], + "isPriority": false + } + ], + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/log-streams/lst_0000000000025431", + "body": { + "name": "Suspended DD Log Stream", + "isPriority": false, + "sink": { + "datadogApiKey": "##LOGSTREAMS_DATADOG_SECRET##", + "datadogRegion": "us" + }, + "status": "active" + }, + "status": 200, + "response": { + "id": "lst_0000000000025431", + "name": "Suspended DD Log Stream", + "type": "datadog", + "status": "active", + "sink": { + "datadogApiKey": "##LOGSTREAMS_DATADOG_SECRET##", + "datadogRegion": "us" + }, + "isPriority": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/log-streams/lst_0000000000025432", + "body": { + "name": "Amazon EventBridge", + "filters": [ + { + "type": "category", + "name": "auth.login.success" + }, + { + "type": "category", + "name": "auth.login.notification" + }, + { + "type": "category", + "name": "auth.login.fail" + }, + { + "type": "category", + "name": "auth.signup.success" + }, + { + "type": "category", + "name": "auth.logout.success" + }, + { + "type": "category", + "name": "auth.logout.fail" + }, + { + "type": "category", + "name": "auth.silent_auth.fail" + }, + { + "type": "category", + "name": "auth.silent_auth.success" + }, + { + "type": "category", + "name": "auth.token_exchange.fail" + } + ], + "isPriority": false, + "status": "active" + }, + "status": 200, + "response": { + "id": "lst_0000000000025432", + "name": "Amazon EventBridge", + "type": "eventbridge", + "status": "active", + "sink": { + "awsAccountId": "123456789012", + "awsRegion": "us-east-2", + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-84b807b2-8a87-4d4b-87eb-ff1b56370b3a/auth0.logs" + }, + "filters": [ + { + "type": "category", + "name": "auth.login.success" + }, + { + "type": "category", + "name": "auth.login.notification" + }, + { + "type": "category", + "name": "auth.login.fail" + }, + { + "type": "category", + "name": "auth.signup.success" + }, + { + "type": "category", + "name": "auth.logout.success" + }, + { + "type": "category", + "name": "auth.logout.fail" + }, + { + "type": "category", + "name": "auth.silent_auth.fail" + }, + { + "type": "category", + "name": "auth.silent_auth.success" + }, + { + "type": "category", + "name": "auth.token_exchange.fail" + } + ], + "isPriority": false + }, "rawHeaders": [], "responseIsBinary": false }, @@ -7896,7 +15105,7 @@ "name": "Blank-form", "flow_count": 0, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-11-14T06:56:46.159Z" + "updated_at": "2025-12-05T14:19:17.478Z" } ] }, @@ -7982,7 +15191,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-11-14T06:56:46.159Z" + "updated_at": "2025-12-05T14:19:17.478Z" }, "rawHeaders": [], "responseIsBinary": false @@ -8107,7 +15316,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-11-18T04:41:25.239Z" + "updated_at": "2025-12-05T14:24:57.289Z" }, "rawHeaders": [], "responseIsBinary": false diff --git a/test/e2e/recordings/should-dump-without-throwing-an-error.json b/test/e2e/recordings/should-dump-without-throwing-an-error.json index 3e8fb6fd2..bd077cdc4 100644 --- a/test/e2e/recordings/should-dump-without-throwing-an-error.json +++ b/test/e2e/recordings/should-dump-without-throwing-an-error.json @@ -151,6 +151,7 @@ "page_background": "#222221" } }, + "resource_parameter_profile": "audience", "session_cookie": { "mode": "non-persistent" }, @@ -158,8 +159,7 @@ "22", "18", "12" - ], - "resource_parameter_profile": "audience" + ] }, "rawHeaders": [], "responseIsBinary": false @@ -1183,12 +1183,8 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Default App", "callbacks": [], - "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -1202,6 +1198,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -1209,7 +1206,7 @@ "subject": "deprecated" } ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "VTTBLf4Y7vX3tpTVj0TuGPLPXGsAMUrj", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1239,7 +1236,7 @@ "response": { "connections": [ { - "id": "con_YQIQ8h72LqqSXD75", + "id": "con_LyQ8Ql8u6kYDmUkh", "options": { "mfa": { "active": true, @@ -1257,7 +1254,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true @@ -1265,12 +1263,18 @@ "strategy": "auth0", "name": "Username-Password-Authentication", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "VTTBLf4Y7vX3tpTVj0TuGPLPXGsAMUrj", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -1281,7 +1285,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75/clients?take=50", + "path": "/api/v2/connections/con_LyQ8Ql8u6kYDmUkh/clients?take=50", "body": "", "status": 200, "response": { @@ -1290,7 +1294,7 @@ "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" }, { - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "client_id": "VTTBLf4Y7vX3tpTVj0TuGPLPXGsAMUrj" } ] }, @@ -1300,7 +1304,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75/clients?take=50", + "path": "/api/v2/connections/con_LyQ8Ql8u6kYDmUkh/clients?take=50", "body": "", "status": 200, "response": { @@ -1309,7 +1313,7 @@ "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" }, { - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "client_id": "VTTBLf4Y7vX3tpTVj0TuGPLPXGsAMUrj" } ] }, @@ -1325,7 +1329,7 @@ "response": { "connections": [ { - "id": "con_YQIQ8h72LqqSXD75", + "id": "con_LyQ8Ql8u6kYDmUkh", "options": { "mfa": { "active": true, @@ -1343,7 +1347,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true @@ -1351,12 +1356,18 @@ "strategy": "auth0", "name": "Username-Password-Authentication", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "VTTBLf4Y7vX3tpTVj0TuGPLPXGsAMUrj", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -1423,6 +1434,7 @@ "page_background": "#222221" } }, + "resource_parameter_profile": "audience", "session_cookie": { "mode": "non-persistent" }, @@ -1430,8 +1442,7 @@ "22", "18", "12" - ], - "resource_parameter_profile": "audience" + ] }, "rawHeaders": [], "responseIsBinary": false @@ -1472,7 +1483,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/user_invitation", + "path": "/api/v2/email-templates/reset_email_by_code", "body": "", "status": 404, "response": { @@ -1517,14 +1528,18 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email_by_code", + "path": "/api/v2/email-templates/welcome_email", "body": "", - "status": 404, + "status": 200, "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "from": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", + "syntax": "liquid", + "urlLifetimeInSeconds": 3600, + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -1532,7 +1547,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/enrollment_email", + "path": "/api/v2/email-templates/stolen_credentials", "body": "", "status": 404, "response": { @@ -1547,7 +1562,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email", + "path": "/api/v2/email-templates/verify_email_by_code", "body": "", "status": 404, "response": { @@ -1562,7 +1577,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/stolen_credentials", + "path": "/api/v2/email-templates/password_reset", "body": "", "status": 404, "response": { @@ -1577,7 +1592,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/verify_email_by_code", + "path": "/api/v2/email-templates/mfa_oob_code", "body": "", "status": 404, "response": { @@ -1592,18 +1607,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/welcome_email", + "path": "/api/v2/email-templates/enrollment_email", "body": "", - "status": 200, + "status": 404, "response": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" }, "rawHeaders": [], "responseIsBinary": false @@ -1611,7 +1622,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/password_reset", + "path": "/api/v2/email-templates/user_invitation", "body": "", "status": 404, "response": { @@ -1626,7 +1637,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/mfa_oob_code", + "path": "/api/v2/email-templates/reset_email", "body": "", "status": 404, "response": { @@ -2144,6 +2155,7 @@ "page_background": "#222221" } }, + "resource_parameter_profile": "audience", "session_cookie": { "mode": "non-persistent" }, @@ -2151,8 +2163,7 @@ "22", "18", "12" - ], - "resource_parameter_profile": "audience" + ] }, "rawHeaders": [], "responseIsBinary": false @@ -2160,7 +2171,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-password/custom-text/en", + "path": "/api/v2/prompts/login-id/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2180,7 +2191,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-passwordless/custom-text/en", + "path": "/api/v2/prompts/login-password/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2190,7 +2201,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-email-verification/custom-text/en", + "path": "/api/v2/prompts/login-passwordless/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2200,7 +2211,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/custom-text/en", + "path": "/api/v2/prompts/login-email-verification/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2240,7 +2251,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/phone-identifier-challenge/custom-text/en", + "path": "/api/v2/prompts/phone-identifier-enrollment/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2250,7 +2261,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/phone-identifier-enrollment/custom-text/en", + "path": "/api/v2/prompts/email-identifier-challenge/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2260,7 +2271,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/email-identifier-challenge/custom-text/en", + "path": "/api/v2/prompts/phone-identifier-challenge/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2270,7 +2281,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/reset-password/custom-text/en", + "path": "/api/v2/prompts/custom-form/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2280,7 +2291,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/custom-form/custom-text/en", + "path": "/api/v2/prompts/reset-password/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2320,7 +2331,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-push/custom-text/en", + "path": "/api/v2/prompts/mfa-voice/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2340,7 +2351,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-voice/custom-text/en", + "path": "/api/v2/prompts/mfa-push/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2360,7 +2371,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-webauthn/custom-text/en", + "path": "/api/v2/prompts/mfa-sms/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2390,7 +2401,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa/custom-text/en", + "path": "/api/v2/prompts/mfa-webauthn/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2400,7 +2411,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/status/custom-text/en", + "path": "/api/v2/prompts/mfa/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2410,7 +2421,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-sms/custom-text/en", + "path": "/api/v2/prompts/device-flow/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2420,7 +2431,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/device-flow/custom-text/en", + "path": "/api/v2/prompts/status/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2430,7 +2441,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/email-otp-challenge/custom-text/en", + "path": "/api/v2/prompts/email-verification/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2440,7 +2451,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/email-verification/custom-text/en", + "path": "/api/v2/prompts/email-otp-challenge/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2487,6 +2498,16 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/prompts/brute-force-protection/custom-text/en", + "body": "", + "status": 200, + "response": {}, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -2500,7 +2521,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login/partials", + "path": "/api/v2/prompts/login-id/partials", "body": "", "status": 200, "response": {}, @@ -2510,7 +2531,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-password/partials", + "path": "/api/v2/prompts/login/partials", "body": "", "status": 200, "response": {}, @@ -2520,7 +2541,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/partials", + "path": "/api/v2/prompts/login-password/partials", "body": "", "status": 200, "response": {}, @@ -2530,7 +2551,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup-id/partials", + "path": "/api/v2/prompts/signup/partials", "body": "", "status": 200, "response": {}, @@ -2550,7 +2571,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup/partials", + "path": "/api/v2/prompts/signup-id/partials", "body": "", "status": 200, "response": {}, @@ -2593,7 +2614,6 @@ "version": "v3", "status": "CURRENT", "runtimes": [ - "node12", "node18-actions", "node22" ], @@ -2619,24 +2639,24 @@ }, { "id": "credentials-exchange", - "version": "v2", - "status": "CURRENT", + "version": "v1", + "status": "DEPRECATED", "runtimes": [ - "node18-actions", - "node22" + "node12" ], - "default_runtime": "node22", + "default_runtime": "node12", "binding_policy": "trigger-bound", "compatible_triggers": [] }, { - "id": "pre-user-registration", - "version": "v1", - "status": "DEPRECATED", + "id": "credentials-exchange", + "version": "v2", + "status": "CURRENT", "runtimes": [ - "node12" + "node18-actions", + "node22" ], - "default_runtime": "node12", + "default_runtime": "node22", "binding_policy": "trigger-bound", "compatible_triggers": [] }, @@ -2670,6 +2690,7 @@ "version": "v2", "status": "CURRENT", "runtimes": [ + "node12", "node18-actions", "node22" ], @@ -3004,12 +3025,8 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Default App", "callbacks": [], - "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -3023,6 +3040,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -3030,7 +3048,7 @@ "subject": "deprecated" } ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "VTTBLf4Y7vX3tpTVj0TuGPLPXGsAMUrj", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3157,23 +3175,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/attack-protection/bot-detection", - "body": "", - "status": 200, - "response": { - "challenge_password_policy": "never", - "challenge_passwordless_policy": "never", - "challenge_password_reset_policy": "never", - "allowlist": [], - "bot_detection_level": "medium", - "monitoring_mode_enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -3209,6 +3210,23 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/attack-protection/bot-detection", + "body": "", + "status": 200, + "response": { + "challenge_password_policy": "never", + "challenge_passwordless_policy": "never", + "challenge_password_reset_policy": "never", + "allowlist": [], + "bot_detection_level": "medium", + "monitoring_mode_enabled": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -3260,7 +3278,7 @@ "name": "Blank-form", "flow_count": 0, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-11-14T06:56:46.159Z" + "updated_at": "2025-12-05T09:38:30.169Z" } ] }, @@ -3346,7 +3364,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-11-14T06:56:46.159Z" + "updated_at": "2025-12-05T09:38:30.169Z" }, "rawHeaders": [], "responseIsBinary": false @@ -3455,7 +3473,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-10-31T14:59:23.732Z", + "updated_at": "2025-12-05T07:04:31.162Z", "branding": { "colors": { "primary": "#19aecc" @@ -3507,7 +3525,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-10-31T14:59:09.594Z", + "updated_at": "2025-12-05T07:04:15.756Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] diff --git a/test/tools/auth0/handlers/prompts.tests.ts b/test/tools/auth0/handlers/prompts.tests.ts index 951984138..90db6feb9 100644 --- a/test/tools/auth0/handlers/prompts.tests.ts +++ b/test/tools/auth0/handlers/prompts.tests.ts @@ -160,6 +160,8 @@ describe('#prompts handler', () => { getCustomPartial.withArgs({ prompt: 'signup-password' }).resolves({}); getCustomPartial.withArgs({ prompt: 'signup-id' }).resolves({}); getCustomPartial.withArgs({ prompt: 'signup' }).resolves(signupPartial); + // Stub new prompts to return empty for retrieval test + getCustomPartial.withArgs({ prompt: 'brute-force-protection' }).resolves({}); const data = await handler.getType(); expect(data).to.deep.equal({ @@ -184,6 +186,111 @@ describe('#prompts handler', () => { }, screenRenderers: [sampleScreenRenderLogin, sampleScreenRenderSignUp], }); + sinon.restore(); + }); + + it('should get brute-force-protection custom texts along with others', async () => { + const supportedLanguages: Language[] = ['en']; + + const englishCustomText = { + login: { + login: { + description: 'login description in english', + title: 'login title in english', + buttonText: 'login button text in english', + }, + }, + 'brute-force-protection': { + 'brute-force-protection-unblock': { + pageTitle: 'Unblock My Account here', + description: 'Unblock My Account here', + buttonText: 'Continue here', + logoAltText: 'comapny_name', + }, + 'brute-force-protection-unblock-success': { + pageTitle: 'Account Unblocked', + eventTitle: 'Account Unblocked', + description: 'Your account has been unblocked Description', + }, + 'brute-force-protection-unblock-failure': { + pageTitle: 'Authentication Error', + eventTitle: 'Authentication Error', + expiredError: 'This link has expired.', + usedError: 'This link can only be used once.', + genericError: 'Something went wrong, please try again later.', + }, + }, + }; + + const auth0 = { + tenants: { + settings: { + get: () => + Promise.resolve({ + enabled_locales: supportedLanguages, + }), + }, + }, + prompts: { + getSettings: () => Promise.resolve(mockPromptsSettings), + customText: { + get: (prompt, language, _options) => { + const customTextLanguageMap = { + en: { + login: englishCustomText.login, + 'brute-force-protection': englishCustomText['brute-force-protection'], + }, + }; + + // Simulate fetching custom text for the specific prompt ('login' or 'brute-force-protection') + const customTextForLanguage = customTextLanguageMap[language]; + + if (!customTextForLanguage || !customTextForLanguage[prompt]) { + return Promise.resolve({}); + } + + const customTextValue = customTextForLanguage[prompt]; + if (customTextValue === undefined || _.isEmpty(customTextValue)) + return Promise.resolve({}); + + return Promise.resolve(customTextValue); + }, + }, + rendering: { + list: () => [], + }, + }, + pool: new PromisePoolExecutor({ + concurrencyLimit: 3, + frequencyLimit: 1000, + frequencyWindow: 1000, // 1 sec + }), + }; + + const handler = new promptsHandler({ + client: auth0, + config: config, + }); + + const getCustomPartial = sinon.stub(handler, 'getCustomPartial'); + // Stub all partials to return empty for simplicity in this test + getCustomPartial.resolves({}); + + const data = await handler.getType(); + + // The expected data should include the brute-force-protection custom texts + expect(data).to.deep.equal({ + ...mockPromptsSettings, + customText: { + en: { + login: englishCustomText.login, + 'brute-force-protection': englishCustomText['brute-force-protection'], + }, + }, + partials: {}, + screenRenderers: [], + }); + sinon.restore(); }); it('should update prompts settings but not custom text/partials settings if not set', async () => { @@ -210,6 +317,9 @@ describe('#prompts handler', () => { expect(data).to.deep.equal(mockPromptsSettings); return Promise.resolve({ data }); }, + rendering: { + update: () => {}, // Stub update since AUTH0_EXPERIMENTAL_EA is true by default here + }, }, }; @@ -230,9 +340,10 @@ describe('#prompts handler', () => { expect(didCallUpdatePromptsSettings).to.equal(true); expect(didCallUpdateCustomText).to.equal(false); expect(didCallUpdatePartials).to.equal(false); + sinon.restore(); }); - it('should update prompts settings and custom text/partials, screen renderer settings when set', async () => { + it('should update prompts settings and custom text/partials, screen renderer settings when set, including brute-force-protection', async () => { let didCallUpdatePromptsSettings = false; let didCallUpdateCustomText = false; let didCallUpdatePartials = false; @@ -247,6 +358,17 @@ describe('#prompts handler', () => { description: 'description text', title: 'title text', }, + 'brute-force-protection': { + // Added brute-force-protection custom text + 'brute-force-protection-unblock': { + pageTitle: 'Unblock My Account here', + description: 'Unblock My Account here', + buttonText: 'Continue here', + }, + 'brute-force-protection-unblock-success': { + pageTitle: 'Account Unblocked', + }, + }, 'mfa-webauthn': {}, }, fr: { @@ -299,9 +421,15 @@ describe('#prompts handler', () => { const auth0 = { prompts: { customText: { - set: () => { + set: (prompt, language, body) => { didCallUpdateCustomText = true; numberOfUpdateCustomTextCalls++; + if (prompt === 'brute-force-protection') { + expect(language).to.equal('en'); + // Check if the body contains the brute-force-protection screens + expect(body).to.have.property('brute-force-protection-unblock'); + expect(body).to.have.property('brute-force-protection-unblock-success'); + } return Promise.resolve({ data: {} }); }, }, @@ -354,8 +482,12 @@ describe('#prompts handler', () => { expect(didCallUpdateCustomText).to.equal(true); expect(didCallUpdatePartials).to.equal(true); expect(didCallUpdateScreenRenderer).to.equal(true); - expect(numberOfUpdateCustomTextCalls).to.equal(3); - expect(numberOfUpdatePartialsCalls).to.equal(3); + // Expected calls: login (en), brute-force-protection (en), mfa-webauthn (en), login (fr) + // Note: The total number of calls depends on how many unique prompt/language combinations are in customTextToSet. + // In this case: (en/login), (en/brute-force-protection), (en/mfa-webauthn), (fr/login) = 4 calls + expect(numberOfUpdateCustomTextCalls).to.equal(4); + expect(numberOfUpdatePartialsCalls).to.equal(3); // Based on partialsToSet keys + sinon.restore(); }); it('should update prompts settings and custom text/partials, not screen renderer settings when AUTH0_EXPERIMENTAL_EA=false', async () => { @@ -463,8 +595,10 @@ describe('#prompts handler', () => { expect(didCallUpdateCustomText).to.equal(true); expect(didCallUpdatePartials).to.equal(true); expect(didCallUpdateScreenRenderer).to.equal(false); - expect(numberOfUpdateCustomTextCalls).to.equal(3); + expect(numberOfUpdateCustomTextCalls).to.equal(3); // login-en, mfa-webauthn-en, login-fr expect(numberOfUpdatePartialsCalls).to.equal(3); + config.data.AUTH0_EXPERIMENTAL_EA = true; // Reset config for subsequent tests + sinon.restore(); }); it('should not fail if tenant languages or partials are undefined', async () => { @@ -503,6 +637,7 @@ describe('#prompts handler', () => { getCustomPartial.withArgs({ prompt: 'signup-password' }).resolves({}); getCustomPartial.withArgs({ prompt: 'signup-id' }).resolves({}); getCustomPartial.withArgs({ prompt: 'signup' }).resolves({}); + getCustomPartial.withArgs({ prompt: 'brute-force-protection' }).resolves({}); const data = await handler.getType(); expect(data).to.deep.equal({ @@ -511,6 +646,7 @@ describe('#prompts handler', () => { partials: {}, // Partials empty screenRenderers: [], }); + sinon.restore(); }); }); describe('withErrorHandling', () => { From 04609348b57d528c43c98fc9f2786b5b7acb4e53 Mon Sep 17 00:00:00 2001 From: Kushal <43465488+kushalshit27@users.noreply.github.com> Date: Tue, 9 Dec 2025 18:30:18 +0530 Subject: [PATCH 4/7] feat: support phone templates (#1224) * feat: add support for phone templates - src/context/defaults.ts: add phoneTemplatesDefaults function to strip read-only fields - src/context/directory/handlers/index.ts: import phoneTemplates handler - src/context/yaml/handlers/index.ts: import phoneTemplates handler - src/tools/auth0/handlers/index.ts: import phoneTemplates handler - src/tools/constants.ts: add PHONE_TEMPLATES_DIRECTORY constant - src/types.ts: add PhoneTemplate type and update Assets type - src/context/directory/handlers/phoneTemplates.ts: implement phoneTemplatesHandler for directory context - src/context/yaml/handlers/phoneTemplates.ts: implement phoneTemplatesHandler for YAML context - src/tools/auth0/handlers/phoneTemplates.ts: implement PhoneTemplatesHandler class for managing phone templates - .gitignore: ignore .github/agents directory * feat: add support for phone templates - docs/resource-specific-documentation.md: Added documentation for phone templates. - examples/yaml/tenant.yaml: Included phone templates configuration example. - src/context/directory/handlers/phoneTemplates.ts: Updated to return null for missing templates. - src/context/yaml/handlers/phoneTemplates.ts: Updated to return null for missing templates. - test/context/yaml/context.test.js: Added tests for phone templates processing. - test/utils.js: Mocked phone templates management functions. - examples/directory/phone-templates/otp_enroll.json: Created OTP enrollment template. - examples/directory/phone-templates/otp_verify.json: Created OTP verification template. - test/context/directory/phoneTemplates.test.ts: Added tests for directory context phone templates. - test/context/yaml/phoneTemplates.test.ts: Added tests for YAML context phone templates. - test/tools/auth0/handlers/phoneTemplates.test.ts: Added tests for phone templates handler. * feat: update phone templates to use keyword markers - src/context/directory/handlers/phoneTemplates.ts: remove comment on read-only fields - test/context/directory/phoneTemplates.test.ts: update verification and enrollment code texts to use keyword markers - test/context/yaml/phoneTemplates.test.ts: update verification and enrollment code texts to use keyword markers - test/tools/auth0/handlers/phoneTemplates.test.ts: update verification and enrollment code texts to use keyword markers --------- --- .gitignore | 1 + docs/resource-specific-documentation.md | 53 + .../directory/phone-templates/otp_enroll.json | 12 + .../directory/phone-templates/otp_verify.json | 12 + examples/yaml/tenant.yaml | 15 + src/context/defaults.ts | 21 + src/context/directory/handlers/index.ts | 2 + .../directory/handlers/phoneTemplates.ts | 52 + src/context/yaml/handlers/index.ts | 2 + src/context/yaml/handlers/phoneTemplates.ts | 36 + src/tools/auth0/handlers/index.ts | 2 + src/tools/auth0/handlers/phoneTemplates.ts | 220 ++ src/tools/constants.ts | 1 + src/types.ts | 3 + test/context/directory/phoneTemplates.test.ts | 253 ++ test/context/yaml/context.test.js | 3 + test/context/yaml/phoneTemplates.test.ts | 239 ++ ...sources-if-AUTH0_ALLOW_DELETE-is-true.json | 3342 ++++++++++++----- ...ources-if-AUTH0_ALLOW_DELETE-is-false.json | 3325 ++++++++++++---- ...-and-deploy-without-throwing-an-error.json | 1582 +++++--- ...should-dump-without-throwing-an-error.json | 3234 ++++++++++++---- .../auth0/handlers/phoneTemplates.test.ts | 313 ++ test/utils.js | 6 + 23 files changed, 9841 insertions(+), 2888 deletions(-) create mode 100644 examples/directory/phone-templates/otp_enroll.json create mode 100644 examples/directory/phone-templates/otp_verify.json create mode 100644 src/context/directory/handlers/phoneTemplates.ts create mode 100644 src/context/yaml/handlers/phoneTemplates.ts create mode 100644 src/tools/auth0/handlers/phoneTemplates.ts create mode 100644 test/context/directory/phoneTemplates.test.ts create mode 100644 test/context/yaml/phoneTemplates.test.ts create mode 100644 test/tools/auth0/handlers/phoneTemplates.test.ts diff --git a/.gitignore b/.gitignore index d356d40de..7d63fdc93 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ Makefile .github/copilot-instructions.md .github/chatmodes/* .github/prompts/* +.github/agents/* diff --git a/docs/resource-specific-documentation.md b/docs/resource-specific-documentation.md index e80f0a544..f717eef9b 100644 --- a/docs/resource-specific-documentation.md +++ b/docs/resource-specific-documentation.md @@ -575,3 +575,56 @@ phoneProviders: } ] ``` + +## PhoneTemplates + +Phone templates allow you to customize the SMS and voice messages sent to users for phone-based authentication. +Refer to the [Management API](https://auth0.com/docs/api/management/v2/branding/get-phone-templates) for more details. + +### YAML Example + +```yaml +# Contents of ./tenant.yaml +phoneTemplates: + - type: otp_verify + disabled: false + content: + from: '+12341234567' + body: + text: 'Your verification code is {{ code }}' + voice: 'Your verification code is {{ code }}' + - type: otp_enroll + disabled: false + content: + from: '+12341234567' + body: + text: 'Your enrollment code is {{ code }}' +``` + +### Directory Example + +Create individual JSON files for each template in the `phone-templates` directory: + +```text +phone-templates/ +├── otp_verify.json +├── otp_enroll.json +├── change_password.json +└── ... +``` + +Example `phone-templates/otp_verify.json`: + +```json +{ + "type": "otp_verify", + "disabled": false, + "content": { + "from": "+12341234567", + "body": { + "text": "Your verification code is {{ code }}", + "voice": "Your verification code is {{ code }}" + } + } +} +``` diff --git a/examples/directory/phone-templates/otp_enroll.json b/examples/directory/phone-templates/otp_enroll.json new file mode 100644 index 000000000..bfda25c4e --- /dev/null +++ b/examples/directory/phone-templates/otp_enroll.json @@ -0,0 +1,12 @@ +{ + "type": "otp_enroll", + "disabled": false, + "content": { + "syntax": "liquid", + "from": "+12341234567", + "body": { + "text": "Your enrollment code is {{ code }}", + "voice": "Your enrollment code is {{ code }}" + } + } +} diff --git a/examples/directory/phone-templates/otp_verify.json b/examples/directory/phone-templates/otp_verify.json new file mode 100644 index 000000000..14eed7aef --- /dev/null +++ b/examples/directory/phone-templates/otp_verify.json @@ -0,0 +1,12 @@ +{ + "type": "otp_verify", + "disabled": false, + "content": { + "syntax": "liquid", + "from": "+12341234567", + "body": { + "text": "Your verification code is {{ code }}", + "voice": "Your verification code is {{ code }}" + } + } +} diff --git a/examples/yaml/tenant.yaml b/examples/yaml/tenant.yaml index 672c24b90..011b3ad19 100644 --- a/examples/yaml/tenant.yaml +++ b/examples/yaml/tenant.yaml @@ -111,6 +111,21 @@ phoneProviders: credentials: auth_token: "some_auth_token" +phoneTemplates: + - type: otp_verify + disabled: false + content: + from: "+12341234567" + body: + text: "Your verification code is {{ code }}" + voice: "Your verification code is {{ code }}" + - type: otp_enroll + disabled: false + content: + from: "+12341234567" + body: + text: "Your enrollment code is {{ code }}" + emailProvider: name: "smtp" enabled: true diff --git a/src/context/defaults.ts b/src/context/defaults.ts index 63a80df62..a37d8db19 100644 --- a/src/context/defaults.ts +++ b/src/context/defaults.ts @@ -90,6 +90,27 @@ export function phoneProviderDefaults(phoneProvider) { return updated; } +export function phoneTemplatesDefaults(phoneTemplate) { + const updated = { ...phoneTemplate }; + + // Strip read-only fields that are returned by the API but should not be included in exported config + const removeKeysFromOutput = [ + 'id', + 'channel', + 'customizable', + 'tenant', + 'created_at', + 'updated_at', + ]; + removeKeysFromOutput.forEach((key) => { + if (key in updated) { + delete updated[key]; + } + }); + + return updated; +} + export function connectionDefaults(connection) { if (connection.options) { // Mask secret for key: connection.options.client_secret diff --git a/src/context/directory/handlers/index.ts b/src/context/directory/handlers/index.ts index ce75460bc..366d83709 100644 --- a/src/context/directory/handlers/index.ts +++ b/src/context/directory/handlers/index.ts @@ -20,6 +20,7 @@ import triggers from './triggers'; import attackProtection from './attackProtection'; import branding from './branding'; import phoneProviders from './phoneProvider'; +import phoneTemplates from './phoneTemplates'; import logStreams from './logStreams'; import prompts from './prompts'; import customDomains from './customDomains'; @@ -70,6 +71,7 @@ const directoryHandlers: { attackProtection, branding, phoneProviders, + phoneTemplates, logStreams, prompts, customDomains, diff --git a/src/context/directory/handlers/phoneTemplates.ts b/src/context/directory/handlers/phoneTemplates.ts new file mode 100644 index 000000000..e8ab3204b --- /dev/null +++ b/src/context/directory/handlers/phoneTemplates.ts @@ -0,0 +1,52 @@ +import path from 'path'; +import fs from 'fs-extra'; +import { constants } from '../../../tools'; + +import { existsMustBeDir, getFiles, dumpJSON, loadJSON } from '../../../utils'; +import { DirectoryHandler } from '.'; +import DirectoryContext from '..'; +import { ParsedAsset } from '../../../types'; +import { PhoneTemplate } from '../../../tools/auth0/handlers/phoneTemplates'; +import { phoneTemplatesDefaults } from '../../defaults'; + +type ParsedPhoneTemplates = ParsedAsset<'phoneTemplates', PhoneTemplate[]>; + +function parse(context: DirectoryContext): ParsedPhoneTemplates { + const phoneTemplatesFolder = path.join(context.filePath, constants.PHONE_TEMPLATES_DIRECTORY); + if (!existsMustBeDir(phoneTemplatesFolder)) return { phoneTemplates: null }; // Skip + + const files = getFiles(phoneTemplatesFolder, ['.json']); + + const phoneTemplates = files.map((f) => + loadJSON(f, { + mappings: context.mappings, + disableKeywordReplacement: context.disableKeywordReplacement, + }) + ); + + return { phoneTemplates }; +} + +async function dump(context: DirectoryContext): Promise { + const { phoneTemplates } = context.assets; + + if (!phoneTemplates) { + return; + } // Skip, nothing to dump + + const phoneTemplatesFolder = path.join(context.filePath, constants.PHONE_TEMPLATES_DIRECTORY); + fs.ensureDirSync(phoneTemplatesFolder); + + phoneTemplates.forEach((template) => { + const templateWithDefaults = phoneTemplatesDefaults(template); + const templateFile = path.join(phoneTemplatesFolder, `${template.type}.json`); + dumpJSON(templateFile, templateWithDefaults); + }); +} + +const phoneTemplatesHandler: DirectoryHandler = { + parse, + dump, +}; + +export default phoneTemplatesHandler; diff --git a/src/context/yaml/handlers/index.ts b/src/context/yaml/handlers/index.ts index 87459c879..f7bbb5765 100644 --- a/src/context/yaml/handlers/index.ts +++ b/src/context/yaml/handlers/index.ts @@ -20,6 +20,7 @@ import triggers from './triggers'; import attackProtection from './attackProtection'; import branding from './branding'; import phoneProviders from './phoneProvider'; +import phoneTemplates from './phoneTemplates'; import logStreams from './logStreams'; import prompts from './prompts'; import customDomains from './customDomains'; @@ -68,6 +69,7 @@ const yamlHandlers: { [key in AssetTypes]: YAMLHandler<{ [key: string]: unknown attackProtection, branding, phoneProviders, + phoneTemplates, logStreams, prompts, customDomains, diff --git a/src/context/yaml/handlers/phoneTemplates.ts b/src/context/yaml/handlers/phoneTemplates.ts new file mode 100644 index 000000000..1ce0ab6d2 --- /dev/null +++ b/src/context/yaml/handlers/phoneTemplates.ts @@ -0,0 +1,36 @@ +import { YAMLHandler } from '.'; +import YAMLContext from '..'; +import { PhoneTemplate } from '../../../tools/auth0/handlers/phoneTemplates'; +import { ParsedAsset } from '../../../types'; +import { phoneTemplatesDefaults } from '../../defaults'; + +type ParsedPhoneTemplates = ParsedAsset<'phoneTemplates', PhoneTemplate[]>; + +async function parse(context: YAMLContext): Promise { + const { phoneTemplates } = context.assets; + + if (!phoneTemplates) return { phoneTemplates: null }; + + return { + phoneTemplates, + }; +} + +async function dump(context: YAMLContext): Promise { + const { phoneTemplates } = context.assets; + + if (!phoneTemplates) return { phoneTemplates: null }; + + const processedTemplates = phoneTemplates.map((template) => phoneTemplatesDefaults(template)); + + return { + phoneTemplates: processedTemplates, + }; +} + +const phoneTemplatesHandler: YAMLHandler = { + parse, + dump, +}; + +export default phoneTemplatesHandler; diff --git a/src/tools/auth0/handlers/index.ts b/src/tools/auth0/handlers/index.ts index e4c871dfc..ce9aad752 100644 --- a/src/tools/auth0/handlers/index.ts +++ b/src/tools/auth0/handlers/index.ts @@ -19,6 +19,7 @@ import * as guardianPhoneFactorMessageTypes from './guardianPhoneFactorMessageTy import * as roles from './roles'; import * as branding from './branding'; import * as phoneProviders from './phoneProvider'; +import * as phoneTemplates from './phoneTemplates'; import * as prompts from './prompts'; import * as actions from './actions'; import * as triggers from './triggers'; @@ -59,6 +60,7 @@ const auth0ApiHandlers: { [key in AssetTypes]: any } = { roles, branding, phoneProviders, + phoneTemplates, //@ts-ignore because prompts have not been universally implemented yet prompts, actions, diff --git a/src/tools/auth0/handlers/phoneTemplates.ts b/src/tools/auth0/handlers/phoneTemplates.ts new file mode 100644 index 000000000..3527b29ba --- /dev/null +++ b/src/tools/auth0/handlers/phoneTemplates.ts @@ -0,0 +1,220 @@ +import { Management } from 'auth0'; +import DefaultHandler, { order } from './default'; +import { Asset, Assets, CalculatedChanges } from '../../../types'; +import log from '../../../logger'; + +export type PhoneTemplate = Management.PhoneTemplate; + +export const schema = { + type: 'array', + description: 'List of phone notification templates', + items: { + type: 'object', + properties: { + type: { + type: 'string', + description: 'Type of phone notification template', + enum: ['otp_verify', 'otp_enroll', 'change_password', 'blocked_account', 'password_breach'], + }, + disabled: { + type: 'boolean', + description: 'Whether the template is enabled (false) or disabled (true).', + }, + content: { + type: 'object', + description: 'Content of the phone template', + properties: { + syntax: { + type: 'string', + description: 'Syntax used for the template content', + }, + from: { + type: 'string', + description: + 'Default phone number to be used as "from" when sending a phone notification', + }, + body: { + type: 'object', + description: 'Body content of the phone template', + properties: { + text: { + type: 'string', + description: 'Content of the phone template for text notifications', + }, + voice: { + type: 'string', + description: 'Content of the phone template for voice notifications', + }, + }, + }, + }, + }, + }, + }, +}; + +export default class PhoneTemplatesHandler extends DefaultHandler { + existing: PhoneTemplate[]; + + constructor(options: DefaultHandler) { + super({ + ...options, + type: 'phoneTemplates', + identifiers: ['type'], + stripCreateFields: ['channel', 'customizable', 'tenant'], + stripUpdateFields: ['channel', 'customizable', 'tenant', 'type'], + }); + } + + objString(template): string { + return super.objString({ type: template.type, disabled: template.disabled }); + } + + async getType(): Promise { + if (this.existing) { + return this.existing; + } + + const response = await this.client.branding.phone.templates.list(); + this.existing = response.templates ?? []; + + return this.existing; + } + + @order('65') + async processChanges(assets: Assets): Promise { + const { phoneTemplates } = assets; + + if (!phoneTemplates) return; + + const { del, update, create } = await this.calcChanges(assets); + + log.debug( + `Start processChanges for phone templates [delete:${del.length}] [update:${update.length}], [create:${create.length}]` + ); + + const changes = [{ del: del }, { create: create }, { update: update }]; + + await Promise.all( + changes.map(async (change) => { + switch (true) { + case change.del && change.del.length > 0: + await this.deletePhoneTemplates(change.del || []); + break; + case change.create && change.create.length > 0: + await this.createPhoneTemplates(change.create); + break; + case change.update && change.update.length > 0: + if (change.update) await this.updatePhoneTemplates(change.update); + break; + default: + break; + } + }) + ); + } + + async createPhoneTemplate(template): Promise { + const created = await this.client.branding.phone.templates.create(template); + return created; + } + + async createPhoneTemplates(creates: CalculatedChanges['create']): Promise { + await this.client.pool + .addEachTask({ + data: creates || [], + generator: (item) => + this.createPhoneTemplate(item) + .then((data) => { + this.didCreate(data); + this.created += 1; + }) + .catch((err) => { + throw new Error(`Problem creating ${this.type} ${this.objString(item)}\n${err}`); + }), + }) + .promise(); + } + + async updatePhoneTemplate(template): Promise { + const { type } = template; + + // Find the existing template to get its id + const existing = this.existing?.find((t) => t.type === type); + if (!existing?.id) { + log.warn( + `Skipping update for phone template type '${type}' as unable to find existing template ID` + ); + return template; + } + + // stripUpdateFields does not support in sub modules + const stripUpdateFields = ['content.syntax']; + log.debug(`Stripping ${this.type} create-only fields ${JSON.stringify(stripUpdateFields)}`); + + const updatePayload: Management.UpdatePhoneTemplateRequestContent = { + content: { + from: template.content?.from, + body: { + text: template.content?.body?.text, + voice: template.content?.body?.voice, + }, + }, + disabled: template.disabled, + }; + + const updated = await this.client.branding.phone.templates.update(existing.id, updatePayload); + return updated; + } + + async updatePhoneTemplates(updates: CalculatedChanges['update']): Promise { + await this.client.pool + .addEachTask({ + data: updates || [], + generator: (item) => + this.updatePhoneTemplate(item) + .then((data) => { + this.didUpdate(data); + this.updated += 1; + }) + .catch((err) => { + throw new Error(`Problem updating ${this.type} ${this.objString(item)}\n${err}`); + }), + }) + .promise(); + } + + async deletePhoneTemplate(template): Promise { + if (!template.id) { + throw new Error( + `Unable to find phone template id for type ${template.type} when trying to delete` + ); + } + await this.client.branding.phone.templates.delete(template.id); + } + + async deletePhoneTemplates(data: Asset[]): Promise { + if ( + this.config('AUTH0_ALLOW_DELETE') === 'true' || + this.config('AUTH0_ALLOW_DELETE') === true + ) { + await this.client.pool + .addEachTask({ + data: data || [], + generator: (item) => + this.deletePhoneTemplate(item) + .then(() => { + this.didDelete(item); + this.deleted += 1; + }) + .catch((err) => { + throw new Error(`Problem deleting ${this.type} ${this.objString(item)}\n${err}`); + }), + }) + .promise(); + } else { + log.warn(`Detected the following phone templates should be deleted. Doing so may be destructive.\nYou can enable deletes by setting 'AUTH0_ALLOW_DELETE' to true in the config + \n${data.map((i) => this.objString(i)).join('\n')}`); + } + } +} diff --git a/src/tools/constants.ts b/src/tools/constants.ts index 0d243d1a4..4045df5e1 100644 --- a/src/tools/constants.ts +++ b/src/tools/constants.ts @@ -96,6 +96,7 @@ const constants = { CLIENTS_GRANTS_DIRECTORY: 'grants', BRANDING_DIRECTORY: 'branding', PHONE_PROVIDER_DIRECTORY: 'phone-providers', + PHONE_TEMPLATES_DIRECTORY: 'phone-templates', BRANDING_TEMPLATES_DIRECTORY: 'templates', BRANDING_TEMPLATES_YAML_DIRECTORY: 'branding_templates', CLIENTS_CLIENT_NAME: 'clients', diff --git a/src/types.ts b/src/types.ts index 3d7c3a404..3d7a9db77 100644 --- a/src/types.ts +++ b/src/types.ts @@ -13,6 +13,7 @@ import { Flow } from './tools/auth0/handlers/flows'; import { FlowVaultConnection } from './tools/auth0/handlers/flowVaultConnections'; import { SsProfileWithCustomText } from './tools/auth0/handlers/selfServiceProfiles'; import { PhoneProvider } from './tools/auth0/handlers/phoneProvider'; +import { PhoneTemplate } from './tools/auth0/handlers/phoneTemplates'; import { NetworkACL } from './tools/auth0/handlers/networkACLs'; import { UserAttributeProfile } from './tools/auth0/handlers/userAttributeProfiles'; import { AttackProtection } from './tools/auth0/handlers/attackProtection'; @@ -99,6 +100,7 @@ export type Assets = Partial<{ }) | null; phoneProviders: PhoneProvider[] | null; + phoneTemplates: PhoneTemplate[] | null; clients: Client[] | null; clientGrants: ClientGrant[] | null; connections: Asset[] | null; @@ -175,6 +177,7 @@ export type AssetTypes = | 'attackProtection' | 'branding' | 'phoneProviders' + | 'phoneTemplates' | 'logStreams' | 'prompts' | 'customDomains' diff --git a/test/context/directory/phoneTemplates.test.ts b/test/context/directory/phoneTemplates.test.ts new file mode 100644 index 000000000..87d13e564 --- /dev/null +++ b/test/context/directory/phoneTemplates.test.ts @@ -0,0 +1,253 @@ +import path from 'path'; +import { expect } from 'chai'; +import { constants } from '../../../src/tools'; + +import Context from '../../../src/context/directory'; +import { testDataDir, cleanThenMkdir, mockMgmtClient } from '../../utils'; +import handler from '../../../src/context/directory/handlers/phoneTemplates'; +import { loadJSON } from '../../../src/utils'; +import fs from 'fs-extra'; + +describe('#directory context phone templates', () => { + it('should process phoneTemplates', async () => { + const repoDir = path.join(testDataDir, 'directory', 'phoneTemplates'); + cleanThenMkdir(repoDir); + + const phoneTemplatesDir = path.join(repoDir, constants.PHONE_TEMPLATES_DIRECTORY); + cleanThenMkdir(phoneTemplatesDir); + + // Create individual template files + fs.writeFileSync( + path.join(phoneTemplatesDir, 'otp_verify.json'), + JSON.stringify({ + type: 'otp_verify', + disabled: false, + content: { + from: '+15551234567', + body: { + text: '##OTP_VERIFICATION_TEXT## {{ code }}', + voice: '##OTP_VERIFICATION_TEXT## {{ code }}', + }, + }, + }) + ); + + fs.writeFileSync( + path.join(phoneTemplatesDir, 'otp_enroll.json'), + JSON.stringify({ + type: 'otp_enroll', + disabled: false, + content: { + from: '+15551234567', + body: { + text: '##OTP_ENROLL_TEXT## {{ code }}', + }, + }, + }) + ); + + const config = { AUTH0_INPUT_FILE: repoDir, AUTH0_KEYWORD_REPLACE_MAPPINGS: { env: 'test' } }; + const context = new Context(config, mockMgmtClient()); + await context.loadAssetsFromLocal(); + + // Sort by type for consistent comparison since file order is not deterministic + const sortedTemplates = [...context.assets.phoneTemplates].sort((a, b) => + a.type.localeCompare(b.type) + ); + + expect(sortedTemplates).to.deep.equal([ + { + type: 'otp_enroll', + disabled: false, + content: { + from: '+15551234567', + body: { + text: '##OTP_ENROLL_TEXT## {{ code }}', + }, + }, + }, + { + type: 'otp_verify', + disabled: false, + content: { + from: '+15551234567', + body: { + text: '##OTP_VERIFICATION_TEXT## {{ code }}', + voice: '##OTP_VERIFICATION_TEXT## {{ code }}', + }, + }, + }, + ]); + }); + + it('should return null when phone-templates directory does not exist', async () => { + const repoDir = path.join(testDataDir, 'directory', 'phoneTemplatesEmpty'); + cleanThenMkdir(repoDir); + + const config = { AUTH0_INPUT_FILE: repoDir }; + const context = new Context(config, mockMgmtClient()); + await context.loadAssetsFromLocal(); + + expect(context.assets.phoneTemplates).to.equal(null); + }); + + it('should dump phone templates', async () => { + const dir = path.join(testDataDir, 'directory', 'phoneTemplatesDump'); + cleanThenMkdir(dir); + const context = new Context({ AUTH0_INPUT_FILE: dir }, mockMgmtClient()); + + context.assets.phoneTemplates = [ + { + id: 'pntm_1234567890', + type: 'otp_verify', + disabled: false, + channel: 'sms', + customizable: true, + tenant: 'test-tenant', + content: { + syntax: 'liquid', + from: '+15551234567', + body: { + text: '##OTP_VERIFICATION_TEXT## {{ code }}', + voice: '##OTP_VERIFICATION_TEXT## {{ code }}', + }, + }, + }, + { + id: 'pntm_0987654321', + type: 'otp_enroll', + disabled: false, + channel: 'sms', + customizable: true, + tenant: 'test-tenant', + content: { + syntax: 'liquid', + from: '+15551234567', + body: { + text: '##OTP_ENROLL_TEXT## {{ code }}', + }, + }, + }, + ]; + + await handler.dump(context); + + const phoneTemplatesFolder = path.join(dir, constants.PHONE_TEMPLATES_DIRECTORY); + + // Check otp_verify.json - should have read-only fields stripped + const otpVerify = loadJSON(path.join(phoneTemplatesFolder, 'otp_verify.json')); + expect(otpVerify).to.deep.equal({ + type: 'otp_verify', + disabled: false, + content: { + syntax: 'liquid', + from: '+15551234567', + body: { + text: '##OTP_VERIFICATION_TEXT## {{ code }}', + voice: '##OTP_VERIFICATION_TEXT## {{ code }}', + }, + }, + }); + expect(otpVerify).to.not.have.property('id'); + expect(otpVerify).to.not.have.property('channel'); + expect(otpVerify).to.not.have.property('customizable'); + expect(otpVerify).to.not.have.property('tenant'); + + // Check otp_enroll.json + const otpEnroll = loadJSON(path.join(phoneTemplatesFolder, 'otp_enroll.json')); + expect(otpEnroll).to.deep.equal({ + type: 'otp_enroll', + disabled: false, + content: { + syntax: 'liquid', + from: '+15551234567', + body: { + text: '##OTP_ENROLL_TEXT## {{ code }}', + }, + }, + }); + }); + + it('should not dump when phoneTemplates is null', async () => { + const dir = path.join(testDataDir, 'directory', 'phoneTemplatesNullDump'); + cleanThenMkdir(dir); + const context = new Context({ AUTH0_INPUT_FILE: dir }, mockMgmtClient()); + + context.assets.phoneTemplates = null; + + await handler.dump(context); + + const phoneTemplatesFolder = path.join(dir, constants.PHONE_TEMPLATES_DIRECTORY); + expect(fs.existsSync(phoneTemplatesFolder)).to.equal(false); + }); + + it('should preserve keyword markers when dumping with AUTH0_PRESERVE_KEYWORDS', async () => { + const dir = path.join(testDataDir, 'directory', 'phoneTemplatesPreserve'); + const phoneTemplatesDir = path.join(dir, constants.PHONE_TEMPLATES_DIRECTORY); + cleanThenMkdir(phoneTemplatesDir); + + const localTemplate = { + type: 'otp_verify', + disabled: false, + content: { + syntax: 'liquid', + from: '##FROM_NUMBER##', + body: { + text: '##OTP_VERIFICATION_TEXT## {{ code }}', + voice: '##OTP_VERIFICATION_TEXT## {{ code }}', + }, + }, + }; + + fs.writeFileSync( + path.join(phoneTemplatesDir, 'otp_verify.json'), + JSON.stringify(localTemplate) + ); + + const remoteTemplates = [ + { + id: 'pntm_otp_verify', + type: 'otp_verify', + disabled: false, + content: { + syntax: 'liquid', + from: '+15551230000', + body: { + text: 'Your verification code is {{ code }}', + voice: 'Your verification code is {{ code }}', + }, + }, + }, + ]; + + const mockMgmt = { + branding: { + phone: { + templates: { + list: () => Promise.resolve({ templates: remoteTemplates }), + }, + }, + }, + } as any; + + const context = new Context( + { + AUTH0_INPUT_FILE: dir, + AUTH0_PRESERVE_KEYWORDS: true, + AUTH0_INCLUDED_ONLY: ['phoneTemplates'], + AUTH0_KEYWORD_REPLACE_MAPPINGS: { + FROM_NUMBER: '+15551230000', + OTP_VERIFICATION_TEXT: 'Your verification code is', + OTP_ENROLL_TEXT: 'Your enrollment code is', + }, + } as any, + mockMgmt + ); + + await context.dump(); + + const dumped = loadJSON(path.join(phoneTemplatesDir, 'otp_verify.json')); + + expect(dumped).to.deep.equal(localTemplate); + }); +}); diff --git a/test/context/yaml/context.test.js b/test/context/yaml/context.test.js index 1cc7ae4a8..eca94338a 100644 --- a/test/context/yaml/context.test.js +++ b/test/context/yaml/context.test.js @@ -311,6 +311,7 @@ describe('#YAML context validation', () => { forms: [], selfServiceProfiles: [], userAttributeProfiles: [], + phoneTemplates: [], }); }); @@ -439,6 +440,7 @@ describe('#YAML context validation', () => { forms: [], selfServiceProfiles: [], userAttributeProfiles: [], + phoneTemplates: [], }); }); @@ -568,6 +570,7 @@ describe('#YAML context validation', () => { forms: [], selfServiceProfiles: [], userAttributeProfiles: [], + phoneTemplates: [], }); }); diff --git a/test/context/yaml/phoneTemplates.test.ts b/test/context/yaml/phoneTemplates.test.ts new file mode 100644 index 000000000..791efbdd2 --- /dev/null +++ b/test/context/yaml/phoneTemplates.test.ts @@ -0,0 +1,239 @@ +import path from 'path'; +import fs from 'fs-extra'; +import jsYaml from 'js-yaml'; +import { expect } from 'chai'; + +import Context from '../../../src/context/yaml'; +import handler from '../../../src/context/yaml/handlers/phoneTemplates'; +import { cleanThenMkdir, testDataDir, mockMgmtClient } from '../../utils'; + +describe('#YAML context phone templates', () => { + it('should process phone templates', async () => { + const dir = path.join(testDataDir, 'yaml', 'phoneTemplates'); + cleanThenMkdir(dir); + + const yaml = ` +phoneTemplates: + - type: otp_verify + disabled: false + content: + from: '+15551234567' + body: + text: '##OTP_VERIFICATION_TEXT## {{ code }}' + voice: '##OTP_VERIFICATION_TEXT## {{ code }}' + - type: otp_enroll + disabled: false + content: + from: '+15551234567' + body: + text: '##OTP_ENROLL_TEXT## {{ code }}' +`; + const yamlFile = path.join(dir, 'config.yaml'); + fs.writeFileSync(yamlFile, yaml); + + const target = [ + { + type: 'otp_verify', + disabled: false, + content: { + from: '+15551234567', + body: { + text: '##OTP_VERIFICATION_TEXT## {{ code }}', + voice: '##OTP_VERIFICATION_TEXT## {{ code }}', + }, + }, + }, + { + type: 'otp_enroll', + disabled: false, + content: { + from: '+15551234567', + body: { + text: '##OTP_ENROLL_TEXT## {{ code }}', + }, + }, + }, + ]; + + const config = { AUTH0_INPUT_FILE: yamlFile, AUTH0_KEYWORD_REPLACE_MAPPINGS: { ENV: 'test' } }; + const context = new Context(config, mockMgmtClient()); + await context.loadAssetsFromLocal(); + expect(context.assets.phoneTemplates).to.deep.equal(target); + }); + + it('should dump phone templates', async () => { + const context = new Context({ AUTH0_INPUT_FILE: './test.yml' }, mockMgmtClient()); + context.assets.phoneTemplates = [ + { + id: 'pntm_1234567890', + type: 'otp_verify', + disabled: false, + channel: 'sms', + customizable: true, + tenant: 'test-tenant', + content: { + syntax: 'liquid', + from: '+15551234567', + body: { + text: '##OTP_VERIFICATION_TEXT## {{ code }}', + voice: '##OTP_VERIFICATION_TEXT## {{ code }}', + }, + }, + }, + { + id: 'pntm_0987654321', + type: 'otp_enroll', + disabled: false, + channel: 'sms', + customizable: true, + tenant: 'test-tenant', + content: { + syntax: 'liquid', + from: '+15551234567', + body: { + text: '##OTP_ENROLL_TEXT## {{ code }}', + }, + }, + }, + ]; + + const dumped = await handler.dump(context); + + // Should have read-only fields stripped + expect(dumped).to.deep.equal({ + phoneTemplates: [ + { + type: 'otp_verify', + disabled: false, + content: { + syntax: 'liquid', + from: '+15551234567', + body: { + text: '##OTP_VERIFICATION_TEXT## {{ code }}', + voice: '##OTP_VERIFICATION_TEXT## {{ code }}', + }, + }, + }, + { + type: 'otp_enroll', + disabled: false, + content: { + syntax: 'liquid', + from: '+15551234567', + body: { + text: '##OTP_ENROLL_TEXT## {{ code }}', + }, + }, + }, + ], + }); + + // Verify read-only fields are stripped + dumped.phoneTemplates.forEach((template) => { + expect(template).to.not.have.property('id'); + expect(template).to.not.have.property('channel'); + expect(template).to.not.have.property('customizable'); + expect(template).to.not.have.property('tenant'); + }); + }); + + it('should return null when phoneTemplates is not defined', async () => { + const dir = path.join(testDataDir, 'yaml', 'phoneTemplatesEmpty'); + cleanThenMkdir(dir); + + const yaml = ` +clients: [] +`; + const yamlFile = path.join(dir, 'config.yaml'); + fs.writeFileSync(yamlFile, yaml); + + const config = { AUTH0_INPUT_FILE: yamlFile }; + const context = new Context(config, mockMgmtClient()); + await context.loadAssetsFromLocal(); + expect(context.assets.phoneTemplates).to.equal(null); + }); + + it('should return null when dumping null phoneTemplates', async () => { + const context = new Context({ AUTH0_INPUT_FILE: './test.yml' }, mockMgmtClient()); + context.assets.phoneTemplates = null; + + const dumped = await handler.dump(context); + expect(dumped).to.deep.equal({ phoneTemplates: null }); + }); + + it('should preserve keyword markers when dumping with AUTH0_PRESERVE_KEYWORDS', async () => { + const dir = path.join(testDataDir, 'yaml', 'phoneTemplatesPreserve'); + cleanThenMkdir(dir); + + const yamlFile = path.join(dir, 'config.yaml'); + const localYaml = ` +phoneTemplates: + - type: otp_verify + disabled: false + content: + from: '##FROM_NUMBER##' + body: + text: '##OTP_VERIFICATION_TEXT## {{ code }}' + voice: '##OTP_VERIFICATION_TEXT## {{ code }}' +`; + fs.writeFileSync(yamlFile, localYaml); + + const remoteTemplates = [ + { + id: 'pntm_otp_verify', + type: 'otp_verify', + disabled: false, + content: { + syntax: 'liquid', + from: '+15551230000', + body: { + text: 'Your verification code is {{ code }}', + voice: 'Your verification code is {{ code }}', + }, + }, + }, + ]; + + const context = new Context( + { + AUTH0_INPUT_FILE: yamlFile, + AUTH0_PRESERVE_KEYWORDS: true, + AUTH0_INCLUDED_ONLY: ['phoneTemplates'], + AUTH0_KEYWORD_REPLACE_MAPPINGS: { + FROM_NUMBER: '+15551230000', + OTP_VERIFICATION_TEXT: 'Your verification code is', + }, + } as any, + { + branding: { + phone: { + templates: { + list: () => Promise.resolve({ templates: remoteTemplates }) as any, + }, + }, + }, + } as any + ); + + await context.dump(); + + const dumpedYaml = jsYaml.load(fs.readFileSync(yamlFile, 'utf8')); + + expect(dumpedYaml).to.deep.equal({ + phoneTemplates: [ + { + type: 'otp_verify', + disabled: false, + content: { + syntax: 'liquid', + from: '##FROM_NUMBER##', + body: { + text: '##OTP_VERIFICATION_TEXT## {{ code }}', + voice: '##OTP_VERIFICATION_TEXT## {{ code }}', + }, + }, + }, + ], + }); + }); +}); diff --git a/test/e2e/recordings/should-deploy-while-deleting-resources-if-AUTH0_ALLOW_DELETE-is-true.json b/test/e2e/recordings/should-deploy-while-deleting-resources-if-AUTH0_ALLOW_DELETE-is-true.json index 0e1f2cadd..5a894fd59 100644 --- a/test/e2e/recordings/should-deploy-while-deleting-resources-if-AUTH0_ALLOW_DELETE-is-true.json +++ b/test/e2e/recordings/should-deploy-while-deleting-resources-if-AUTH0_ALLOW_DELETE-is-true.json @@ -1201,7 +1201,7 @@ "body": "", "status": 200, "response": { - "total": 2, + "total": 9, "start": 0, "limit": 100, "clients": [ @@ -1241,7 +1241,364 @@ "subject": "deprecated" } ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials", + "implicit", + "authorization_code", + "refresh_token" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Default App", + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "allowed_origins": [], + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "regular_web", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "web_origins": [], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Terraform Provider", + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "The Default App", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso": false, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1250,36 +1607,48 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ - "client_credentials", - "implicit", "authorization_code", + "implicit", "refresh_token" ], + "web_origins": [ + "http://localhost:3000" + ], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, "sso_disabled": false, "cross_origin_authentication": false, - "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -1287,7 +1656,7 @@ "subject": "deprecated" } ], - "client_id": "VTTBLf4Y7vX3tpTVj0TuGPLPXGsAMUrj", + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1295,10 +1664,10 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -1311,7 +1680,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/VTTBLf4Y7vX3tpTVj0TuGPLPXGsAMUrj", + "path": "/api/v2/clients/BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", "body": "", "status": 204, "response": "", @@ -1320,14 +1689,15 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/clients", + "method": "PATCH", + "path": "/api/v2/clients/feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", "body": { - "name": "Quickstarts API (Test Application)", + "name": "API Explorer Application", + "allowed_clients": [], "app_type": "non_interactive", - "client_metadata": { - "foo": "bar" - }, + "callbacks": [], + "client_aliases": [], + "client_metadata": {}, "cross_origin_auth": false, "custom_login_page_on": true, "grant_types": [ @@ -1337,8 +1707,15 @@ "is_token_endpoint_ip_header_trusted": false, "jwt_configuration": { "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false + "lifetime_in_seconds": 36000 + }, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } }, "oidc_conformant": true, "refresh_token": { @@ -1353,17 +1730,25 @@ "sso_disabled": false, "token_endpoint_auth_method": "client_secret_post" }, - "status": 201, + "status": 200, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -1376,16 +1761,14 @@ }, "sso_disabled": false, "cross_origin_authentication": false, - "encrypted": true, "signing_keys": [ { "cert": "[REDACTED]", - "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "qXCqK884hJUOYPhMMkXuFaoIlkDlIqsS", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1393,6 +1776,7 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", "app_type": "non_interactive", "grant_types": [ @@ -1405,15 +1789,14 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/clients", + "method": "PATCH", + "path": "/api/v2/clients/c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", "body": { - "name": "API Explorer Application", - "allowed_clients": [], + "name": "Quickstarts API (Test Application)", "app_type": "non_interactive", - "callbacks": [], - "client_aliases": [], - "client_metadata": {}, + "client_metadata": { + "foo": "bar" + }, "cross_origin_auth": false, "custom_login_page_on": true, "grant_types": [ @@ -1423,16 +1806,7 @@ "is_token_endpoint_ip_header_trusted": false, "jwt_configuration": { "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } + "lifetime_in_seconds": 36000 }, "oidc_conformant": true, "refresh_token": { @@ -1447,25 +1821,17 @@ "sso_disabled": false, "token_endpoint_auth_method": "client_secret_post" }, - "status": 201, + "status": 200, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -1478,16 +1844,14 @@ }, "sso_disabled": false, "cross_origin_authentication": false, - "encrypted": true, "signing_keys": [ { "cert": "[REDACTED]", - "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "y47mfVuNz3nzK4VbATlDhYsU6sBHfq8e", + "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1495,7 +1859,6 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", "app_type": "non_interactive", "grant_types": [ @@ -1508,8 +1871,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/clients", + "method": "PATCH", + "path": "/api/v2/clients/xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", "body": { "name": "Node App", "allowed_clients": [], @@ -1531,8 +1894,7 @@ "is_token_endpoint_ip_header_trusted": false, "jwt_configuration": { "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false + "lifetime_in_seconds": 36000 }, "native_social_login": { "apple": { @@ -1556,7 +1918,7 @@ "token_endpoint_auth_method": "client_secret_post", "web_origins": [] }, - "status": 201, + "status": 200, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -1588,17 +1950,15 @@ }, "sso_disabled": false, "cross_origin_authentication": false, - "encrypted": true, "signing_keys": [ { "cert": "[REDACTED]", - "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], "allowed_origins": [], - "client_id": "tALNSCcv1RtuaFJdwZkpj8WW7Ai2wGwL", + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1623,8 +1983,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/clients", + "method": "PATCH", + "path": "/api/v2/clients/3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", "body": { "name": "Terraform Provider", "app_type": "non_interactive", @@ -1637,8 +1997,7 @@ "is_token_endpoint_ip_header_trusted": false, "jwt_configuration": { "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false + "lifetime_in_seconds": 36000 }, "oidc_conformant": true, "refresh_token": { @@ -1653,7 +2012,7 @@ "sso_disabled": false, "token_endpoint_auth_method": "client_secret_post" }, - "status": 201, + "status": 200, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -1673,16 +2032,14 @@ }, "sso_disabled": false, "cross_origin_authentication": false, - "encrypted": true, "signing_keys": [ { "cert": "[REDACTED]", - "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "Ls1MLBy6XnrS6FICBpTgagxcvY6g4Ln9", + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1702,8 +2059,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/clients", + "method": "PATCH", + "path": "/api/v2/clients/ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", "body": { "name": "The Default App", "allowed_clients": [], @@ -1722,8 +2079,7 @@ "is_token_endpoint_ip_header_trusted": false, "jwt_configuration": { "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false + "lifetime_in_seconds": 36000 }, "native_social_login": { "apple": { @@ -1747,7 +2103,7 @@ "sso_disabled": false, "token_endpoint_auth_method": "client_secret_post" }, - "status": 201, + "status": 200, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -1779,16 +2135,14 @@ "sso": false, "sso_disabled": false, "cross_origin_authentication": false, - "encrypted": true, "signing_keys": [ { "cert": "[REDACTED]", - "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "m0BppkTR5PJR9UBbJmhOcXQm8kUBi3mb", + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1811,33 +2165,25 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/clients", + "method": "PATCH", + "path": "/api/v2/clients/XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", "body": { - "name": "Test SPA", + "name": "auth0-deploy-cli-extension", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "app_type": "spa", - "callbacks": [ - "http://localhost:3000" - ], + "app_type": "non_interactive", + "callbacks": [], "client_aliases": [], "client_metadata": {}, "cross_origin_auth": false, "custom_login_page_on": true, "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" + "client_credentials" ], "is_first_party": true, "is_token_endpoint_ip_header_trusted": false, "jwt_configuration": { "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false + "lifetime_in_seconds": 36000 }, "native_social_login": { "apple": { @@ -1849,33 +2195,25 @@ }, "oidc_conformant": true, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" }, "sso_disabled": false, - "token_endpoint_auth_method": "none", - "web_origins": [ - "http://localhost:3000" - ] + "token_endpoint_auth_method": "client_secret_post" }, - "status": 201, + "status": 200, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "name": "auth0-deploy-cli-extension", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -1889,26 +2227,24 @@ }, "oidc_conformant": true, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" }, "sso_disabled": false, "cross_origin_authentication": false, - "encrypted": true, "signing_keys": [ { "cert": "[REDACTED]", - "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "1oQC5ORWSgXf4D3muXm0JFSFfyBp0svZ", + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1917,15 +2253,10 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "client_credentials" ], "custom_login_page_on": true }, @@ -1934,26 +2265,32 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/clients", + "method": "PATCH", + "path": "/api/v2/clients/3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", "body": { - "name": "auth0-deploy-cli-extension", + "name": "Test SPA", "allowed_clients": [], - "app_type": "non_interactive", - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "app_type": "spa", + "callbacks": [ + "http://localhost:3000" + ], "client_aliases": [], "client_metadata": {}, "cross_origin_auth": false, "custom_login_page_on": true, "grant_types": [ - "client_credentials" + "authorization_code", + "implicit", + "refresh_token" ], "is_first_party": true, "is_token_endpoint_ip_header_trusted": false, "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false + "alg": "RS256", + "lifetime_in_seconds": 36000 }, "native_social_login": { "apple": { @@ -1965,25 +2302,33 @@ }, "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post" + "token_endpoint_auth_method": "none", + "web_origins": [ + "http://localhost:3000" + ] }, - "status": 201, + "status": 200, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -1997,26 +2342,24 @@ }, "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, "sso_disabled": false, "cross_origin_authentication": false, - "encrypted": true, "signing_keys": [ { "cert": "[REDACTED]", - "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "GRROzy1MZCZ9d84osY58JfLA3X02qtQL", + "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2025,10 +2368,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ - "client_credentials" + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -2066,7 +2414,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", + "path": "/api/v2/guardian/factors/email", "body": { "enabled": false }, @@ -2080,13 +2428,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/email", + "path": "/api/v2/guardian/factors/push-notification", "body": { - "enabled": false + "enabled": true }, "status": 200, "response": { - "enabled": false + "enabled": true }, "rawHeaders": [], "responseIsBinary": false @@ -2108,13 +2456,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/push-notification", + "path": "/api/v2/guardian/factors/webauthn-roaming", "body": { - "enabled": true + "enabled": false }, "status": 200, "response": { - "enabled": true + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -2212,7 +2560,103 @@ "body": "", "status": 200, "response": { - "actions": [], + "actions": [ + { + "id": "4273221d-f20e-44e6-aa9d-d45702782e4e", + "name": "My Custom Action", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ], + "created_at": "2025-12-05T14:18:53.100690661Z", + "updated_at": "2025-12-09T12:31:15.977676526Z", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "dependencies": [], + "runtime": "node18", + "status": "built", + "secrets": [], + "current_version": { + "id": "a20b7a92-0d6e-4926-9226-fb83db144dae", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "runtime": "node18", + "status": "BUILT", + "number": 7, + "build_time": "2025-12-09T12:31:16.794944131Z", + "created_at": "2025-12-09T12:31:16.719266241Z", + "updated_at": "2025-12-09T12:31:16.796068316Z" + }, + "deployed_version": { + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "dependencies": [], + "id": "a20b7a92-0d6e-4926-9226-fb83db144dae", + "deployed": true, + "number": 7, + "built_at": "2025-12-09T12:31:16.794944131Z", + "secrets": [], + "status": "built", + "created_at": "2025-12-09T12:31:16.719266241Z", + "updated_at": "2025-12-09T12:31:16.796068316Z", + "runtime": "node18", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ] + }, + "all_changes_deployed": true + }, + { + "id": "50d86033-6bc2-4ceb-8991-d14c85d2e304", + "name": "Custom Phone Provider", + "supported_triggers": [ + { + "id": "custom-phone-provider", + "version": "v1" + } + ], + "created_at": "2025-12-09T12:23:14.388072786Z", + "updated_at": "2025-12-09T12:30:12.235258402Z", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "dependencies": [], + "runtime": "node22", + "status": "built", + "secrets": [], + "current_version": { + "id": "23bfff1b-d5bb-4f29-bcd5-d5a8779a6843", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "runtime": "node22", + "status": "BUILT", + "number": 3, + "build_time": "2025-12-09T12:30:13.066221969Z", + "created_at": "2025-12-09T12:30:12.977011820Z", + "updated_at": "2025-12-09T12:30:13.067900742Z" + }, + "deployed_version": { + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "dependencies": [], + "id": "23bfff1b-d5bb-4f29-bcd5-d5a8779a6843", + "deployed": true, + "number": 3, + "built_at": "2025-12-09T12:30:13.066221969Z", + "secrets": [], + "status": "built", + "created_at": "2025-12-09T12:30:12.977011820Z", + "updated_at": "2025-12-09T12:30:13.067900742Z", + "runtime": "node22", + "supported_triggers": [ + { + "id": "custom-phone-provider", + "version": "v1" + } + ] + }, + "all_changes_deployed": true + } + ], + "total": 2, "per_page": 100 }, "rawHeaders": [], @@ -2220,8 +2664,18 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/actions/actions", + "method": "DELETE", + "path": "/api/v2/actions/actions/50d86033-6bc2-4ceb-8991-d14c85d2e304?force=true", + "body": "", + "status": 204, + "response": "", + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/actions/actions/4273221d-f20e-44e6-aa9d-d45702782e4e", "body": { "name": "My Custom Action", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", @@ -2235,9 +2689,9 @@ } ] }, - "status": 201, + "status": 200, "response": { - "id": "0c33a5ff-8c26-44e6-9c95-78b980a40e12", + "id": "4273221d-f20e-44e6-aa9d-d45702782e4e", "name": "My Custom Action", "supported_triggers": [ { @@ -2245,14 +2699,43 @@ "version": "v2" } ], - "created_at": "2025-12-05T14:17:01.355911147Z", - "updated_at": "2025-12-05T14:17:01.372519072Z", + "created_at": "2025-12-05T14:18:53.100690661Z", + "updated_at": "2025-12-09T12:35:06.967806400Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "pending", "secrets": [], - "all_changes_deployed": false + "current_version": { + "id": "a20b7a92-0d6e-4926-9226-fb83db144dae", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "runtime": "node18", + "status": "BUILT", + "number": 7, + "build_time": "2025-12-09T12:31:16.794944131Z", + "created_at": "2025-12-09T12:31:16.719266241Z", + "updated_at": "2025-12-09T12:31:16.796068316Z" + }, + "deployed_version": { + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "dependencies": [], + "id": "a20b7a92-0d6e-4926-9226-fb83db144dae", + "deployed": true, + "number": 7, + "built_at": "2025-12-09T12:31:16.794944131Z", + "secrets": [], + "status": "built", + "created_at": "2025-12-09T12:31:16.719266241Z", + "updated_at": "2025-12-09T12:31:16.796068316Z", + "runtime": "node18", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ] + }, + "all_changes_deployed": true }, "rawHeaders": [], "responseIsBinary": false @@ -2266,7 +2749,7 @@ "response": { "actions": [ { - "id": "0c33a5ff-8c26-44e6-9c95-78b980a40e12", + "id": "4273221d-f20e-44e6-aa9d-d45702782e4e", "name": "My Custom Action", "supported_triggers": [ { @@ -2274,14 +2757,43 @@ "version": "v2" } ], - "created_at": "2025-12-05T14:17:01.355911147Z", - "updated_at": "2025-12-05T14:17:01.372519072Z", + "created_at": "2025-12-05T14:18:53.100690661Z", + "updated_at": "2025-12-09T12:35:06.967806400Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "built", "secrets": [], - "all_changes_deployed": false + "current_version": { + "id": "a20b7a92-0d6e-4926-9226-fb83db144dae", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "runtime": "node18", + "status": "BUILT", + "number": 7, + "build_time": "2025-12-09T12:31:16.794944131Z", + "created_at": "2025-12-09T12:31:16.719266241Z", + "updated_at": "2025-12-09T12:31:16.796068316Z" + }, + "deployed_version": { + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "dependencies": [], + "id": "a20b7a92-0d6e-4926-9226-fb83db144dae", + "deployed": true, + "number": 7, + "built_at": "2025-12-09T12:31:16.794944131Z", + "secrets": [], + "status": "built", + "created_at": "2025-12-09T12:31:16.719266241Z", + "updated_at": "2025-12-09T12:31:16.796068316Z", + "runtime": "node18", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ] + }, + "all_changes_deployed": true } ], "total": 1, @@ -2293,19 +2805,19 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "POST", - "path": "/api/v2/actions/actions/0c33a5ff-8c26-44e6-9c95-78b980a40e12/deploy", + "path": "/api/v2/actions/actions/4273221d-f20e-44e6-aa9d-d45702782e4e/deploy", "body": "", "status": 200, "response": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "7449cbf1-56ef-45a8-88fb-76e3da65a88c", + "id": "180cfbad-155a-407a-94b3-cf0dfab34726", "deployed": false, - "number": 1, + "number": 8, "secrets": [], "status": "built", - "created_at": "2025-12-05T14:17:02.267752368Z", - "updated_at": "2025-12-05T14:17:02.267752368Z", + "created_at": "2025-12-09T12:35:07.753860417Z", + "updated_at": "2025-12-09T12:35:07.753860417Z", "runtime": "node18", "supported_triggers": [ { @@ -2314,7 +2826,7 @@ } ], "action": { - "id": "0c33a5ff-8c26-44e6-9c95-78b980a40e12", + "id": "4273221d-f20e-44e6-aa9d-d45702782e4e", "name": "My Custom Action", "supported_triggers": [ { @@ -2322,14 +2834,60 @@ "version": "v2" } ], - "created_at": "2025-12-05T14:17:01.355911147Z", - "updated_at": "2025-12-05T14:17:01.355911147Z", + "created_at": "2025-12-05T14:18:53.100690661Z", + "updated_at": "2025-12-09T12:35:06.960018210Z", "all_changes_deployed": false } }, "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/suspicious-ip-throttling", + "body": { + "enabled": true, + "shields": [ + "admin_notification" + ], + "allowlist": [ + "127.0.0.1" + ], + "stage": { + "pre-login": { + "max_attempts": 66, + "rate": 864000 + }, + "pre-user-registration": { + "max_attempts": 66, + "rate": 1200 + } + } + }, + "status": 200, + "response": { + "enabled": true, + "shields": [ + "admin_notification" + ], + "allowlist": [ + "127.0.0.1" + ], + "stage": { + "pre-login": { + "max_attempts": 66, + "rate": 864000 + }, + "pre-user-registration": { + "max_attempts": 66, + "rate": 1200 + } + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -2370,62 +2928,16 @@ }, "status": 200, "response": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard", - "stage": { - "pre-user-registration": { - "shields": [] - }, - "pre-change-password": { - "shields": [] - } - } - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/suspicious-ip-throttling", - "body": { - "enabled": true, - "shields": [ - "admin_notification" - ], - "allowlist": [ - "127.0.0.1" - ], - "stage": { - "pre-login": { - "max_attempts": 66, - "rate": 864000 - }, - "pre-user-registration": { - "max_attempts": 66, - "rate": 1200 - } - } - }, - "status": 200, - "response": { - "enabled": true, - "shields": [ - "admin_notification" - ], - "allowlist": [ - "127.0.0.1" - ], + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard", "stage": { - "pre-login": { - "max_attempts": 66, - "rate": 864000 - }, "pre-user-registration": { - "max_attempts": 66, - "rate": 1200 + "shields": [] + }, + "pre-change-password": { + "shields": [] } } }, @@ -2459,7 +2971,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-05T07:04:15.756Z", + "updated_at": "2025-12-09T12:31:17.804Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] @@ -2504,7 +3016,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-05T14:17:03.449Z", + "updated_at": "2025-12-09T12:35:08.930Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" }, "rawHeaders": [], @@ -2756,7 +3268,7 @@ "subject": "deprecated" } ], - "client_id": "y47mfVuNz3nzK4VbATlDhYsU6sBHfq8e", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2801,7 +3313,7 @@ "subject": "deprecated" } ], - "client_id": "qXCqK884hJUOYPhMMkXuFaoIlkDlIqsS", + "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2855,7 +3367,7 @@ } ], "allowed_origins": [], - "client_id": "tALNSCcv1RtuaFJdwZkpj8WW7Ai2wGwL", + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2901,7 +3413,7 @@ "subject": "deprecated" } ], - "client_id": "Ls1MLBy6XnrS6FICBpTgagxcvY6g4Ln9", + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2954,7 +3466,7 @@ "subject": "deprecated" } ], - "client_id": "m0BppkTR5PJR9UBbJmhOcXQm8kUBi3mb", + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3014,7 +3526,7 @@ "subject": "deprecated" } ], - "client_id": "1oQC5ORWSgXf4D3muXm0JFSFfyBp0svZ", + "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3072,7 +3584,7 @@ "subject": "deprecated" } ], - "client_id": "GRROzy1MZCZ9d84osY58JfLA3X02qtQL", + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3139,7 +3651,75 @@ "response": { "connections": [ { - "id": "con_LyQ8Ql8u6kYDmUkh", + "id": "con_bBSD5AQUW0Q5aLuE", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "import_mode": false, + "customScripts": { + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "password_history": { + "size": 5, + "enable": false + }, + "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true + }, + "strategy": "auth0", + "name": "boo-baz-db-connection-test", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "boo-baz-db-connection-test" + ], + "enabled_clients": [ + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + ] + }, + { + "id": "con_CfDqv7jPXpFqETeK", "options": { "mfa": { "active": true, @@ -3193,7 +3773,75 @@ "response": { "connections": [ { - "id": "con_LyQ8Ql8u6kYDmUkh", + "id": "con_bBSD5AQUW0Q5aLuE", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "import_mode": false, + "customScripts": { + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "password_history": { + "size": 5, + "enable": false + }, + "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true + }, + "strategy": "auth0", + "name": "boo-baz-db-connection-test", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "boo-baz-db-connection-test" + ], + "enabled_clients": [ + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + ] + }, + { + "id": "con_CfDqv7jPXpFqETeK", "options": { "mfa": { "active": true, @@ -3241,7 +3889,26 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_LyQ8Ql8u6kYDmUkh/clients?take=50", + "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients?take=50", + "body": "", + "status": 200, + "response": { + "clients": [ + { + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + }, + { + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients?take=50", "body": "", "status": 200, "response": { @@ -3257,7 +3924,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_LyQ8Ql8u6kYDmUkh/clients?take=50", + "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients?take=50", "body": "", "status": 200, "response": { @@ -3270,28 +3937,122 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients?take=50", + "body": "", + "status": 200, + "response": { + "clients": [ + { + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + }, + { + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/connections/con_LyQ8Ql8u6kYDmUkh", + "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK", "body": "", "status": 202, "response": { - "deleted_at": "2025-12-05T14:17:06.615Z" + "deleted_at": "2025-12-09T12:35:11.855Z" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE", + "body": "", + "status": 200, + "response": { + "id": "con_bBSD5AQUW0Q5aLuE", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "import_mode": false, + "customScripts": { + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "password_history": { + "size": 5, + "enable": false + }, + "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true + }, + "strategy": "auth0", + "name": "boo-baz-db-connection-test", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "enabled_clients": [ + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + ], + "realms": [ + "boo-baz-db-connection-test" + ] }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/connections", + "method": "PATCH", + "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE", "body": { - "name": "boo-baz-db-connection-test", - "strategy": "auth0", "enabled_clients": [ - "tALNSCcv1RtuaFJdwZkpj8WW7Ai2wGwL", - "GRROzy1MZCZ9d84osY58JfLA3X02qtQL" + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" ], "is_domain_connection": false, "options": { @@ -3310,6 +4071,11 @@ }, "disable_signup": false, "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, "password_history": { "size": 5, "enable": false @@ -3320,6 +4086,15 @@ "enable": true, "dictionary": [] }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, "brute_force_protection": true, "password_no_personal_info": { "enable": true @@ -3333,25 +4108,30 @@ "boo-baz-db-connection-test" ] }, - "status": 201, + "status": 200, "response": { - "id": "con_hZaTQt1ipndiAks3", + "id": "con_bBSD5AQUW0Q5aLuE", "options": { "mfa": { "active": true, "return_enroll_settings": true }, - "passwordPolicy": "low", "import_mode": false, "customScripts": { - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" }, "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, "password_history": { "size": 5, "enable": false @@ -3362,6 +4142,15 @@ "enable": true, "dictionary": [] }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, "brute_force_protection": true, "password_no_personal_info": { "enable": true @@ -3369,21 +4158,7 @@ "password_complexity_options": { "min_length": 8 }, - "enabledDatabaseCustomization": true, - "authentication_methods": { - "password": { - "enabled": true, - "api_behavior": "required" - }, - "passkey": { - "enabled": false - } - }, - "passkey_options": { - "challenge_ui": "both", - "progressive_enrollment_enabled": true, - "local_enrollment_enabled": true - } + "enabledDatabaseCustomization": true }, "strategy": "auth0", "name": "boo-baz-db-connection-test", @@ -3395,8 +4170,8 @@ "active": false }, "enabled_clients": [ - "GRROzy1MZCZ9d84osY58JfLA3X02qtQL", - "tALNSCcv1RtuaFJdwZkpj8WW7Ai2wGwL" + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" ], "realms": [ "boo-baz-db-connection-test" @@ -3405,98 +4180,17 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?take=1&name=boo-baz-db-connection-test&include_fields=true", - "body": "", - "status": 200, - "response": { - "connections": [ - { - "id": "con_hZaTQt1ipndiAks3", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true - }, - "strategy": "auth0", - "name": "boo-baz-db-connection-test", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "boo-baz-db-connection-test" - ], - "enabled_clients": [ - "GRROzy1MZCZ9d84osY58JfLA3X02qtQL", - "tALNSCcv1RtuaFJdwZkpj8WW7Ai2wGwL" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_hZaTQt1ipndiAks3/clients", + "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients", "body": [ { - "client_id": "tALNSCcv1RtuaFJdwZkpj8WW7Ai2wGwL", + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", "status": true }, { - "client_id": "GRROzy1MZCZ9d84osY58JfLA3X02qtQL", + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", "status": true } ], @@ -3608,7 +4302,7 @@ "subject": "deprecated" } ], - "client_id": "y47mfVuNz3nzK4VbATlDhYsU6sBHfq8e", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3653,7 +4347,7 @@ "subject": "deprecated" } ], - "client_id": "qXCqK884hJUOYPhMMkXuFaoIlkDlIqsS", + "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3707,7 +4401,7 @@ } ], "allowed_origins": [], - "client_id": "tALNSCcv1RtuaFJdwZkpj8WW7Ai2wGwL", + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3753,7 +4447,7 @@ "subject": "deprecated" } ], - "client_id": "Ls1MLBy6XnrS6FICBpTgagxcvY6g4Ln9", + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3806,7 +4500,7 @@ "subject": "deprecated" } ], - "client_id": "m0BppkTR5PJR9UBbJmhOcXQm8kUBi3mb", + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3866,7 +4560,7 @@ "subject": "deprecated" } ], - "client_id": "1oQC5ORWSgXf4D3muXm0JFSFfyBp0svZ", + "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3924,7 +4618,7 @@ "subject": "deprecated" } ], - "client_id": "GRROzy1MZCZ9d84osY58JfLA3X02qtQL", + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3991,7 +4685,7 @@ "response": { "connections": [ { - "id": "con_hZaTQt1ipndiAks3", + "id": "con_bBSD5AQUW0Q5aLuE", "options": { "mfa": { "active": true, @@ -4054,8 +4748,35 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "GRROzy1MZCZ9d84osY58JfLA3X02qtQL", - "tALNSCcv1RtuaFJdwZkpj8WW7Ai2wGwL" + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + ] + }, + { + "id": "con_yGZ6rzfkdR6mMBoE", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + }, + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "google-oauth2" + ], + "enabled_clients": [ + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" ] } ] @@ -4072,7 +4793,7 @@ "response": { "connections": [ { - "id": "con_hZaTQt1ipndiAks3", + "id": "con_bBSD5AQUW0Q5aLuE", "options": { "mfa": { "active": true, @@ -4135,77 +4856,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "GRROzy1MZCZ9d84osY58JfLA3X02qtQL", - "tALNSCcv1RtuaFJdwZkpj8WW7Ai2wGwL" + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/connections", - "body": { - "name": "google-oauth2", - "strategy": "google-oauth2", - "enabled_clients": [ - "m0BppkTR5PJR9UBbJmhOcXQm8kUBi3mb", - "GRROzy1MZCZ9d84osY58JfLA3X02qtQL" - ], - "is_domain_connection": false, - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - } - }, - "status": 201, - "response": { - "id": "con_PDStfmy3MyTLMu1x", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "enabled_clients": [ - "GRROzy1MZCZ9d84osY58JfLA3X02qtQL", - "m0BppkTR5PJR9UBbJmhOcXQm8kUBi3mb" - ], - "realms": [ - "google-oauth2" - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?take=1&name=google-oauth2&include_fields=true", - "body": "", - "status": 200, - "response": { - "connections": [ + }, { - "id": "con_PDStfmy3MyTLMu1x", + "id": "con_yGZ6rzfkdR6mMBoE", "options": { "email": true, "scope": [ @@ -4227,8 +4883,8 @@ "google-oauth2" ], "enabled_clients": [ - "GRROzy1MZCZ9d84osY58JfLA3X02qtQL", - "m0BppkTR5PJR9UBbJmhOcXQm8kUBi3mb" + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" ] } ] @@ -4236,17 +4892,105 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients?take=50", + "body": "", + "status": 200, + "response": { + "clients": [ + { + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + }, + { + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients?take=50", + "body": "", + "status": 200, + "response": { + "clients": [ + { + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + }, + { + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE", + "body": { + "enabled_clients": [ + "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + ], + "is_domain_connection": false, + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + } + }, + "status": 200, + "response": { + "id": "con_yGZ6rzfkdR6mMBoE", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + }, + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "enabled_clients": [ + "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + ], + "realms": [ + "google-oauth2" + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_PDStfmy3MyTLMu1x/clients", + "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients", "body": [ { - "client_id": "m0BppkTR5PJR9UBbJmhOcXQm8kUBi3mb", + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", "status": true }, { - "client_id": "GRROzy1MZCZ9d84osY58JfLA3X02qtQL", + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", "status": true } ], @@ -4395,7 +5139,7 @@ "subject": "deprecated" } ], - "client_id": "y47mfVuNz3nzK4VbATlDhYsU6sBHfq8e", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4440,7 +5184,7 @@ "subject": "deprecated" } ], - "client_id": "qXCqK884hJUOYPhMMkXuFaoIlkDlIqsS", + "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4494,7 +5238,7 @@ } ], "allowed_origins": [], - "client_id": "tALNSCcv1RtuaFJdwZkpj8WW7Ai2wGwL", + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4540,7 +5284,7 @@ "subject": "deprecated" } ], - "client_id": "Ls1MLBy6XnrS6FICBpTgagxcvY6g4Ln9", + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4593,7 +5337,7 @@ "subject": "deprecated" } ], - "client_id": "m0BppkTR5PJR9UBbJmhOcXQm8kUBi3mb", + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4653,7 +5397,7 @@ "subject": "deprecated" } ], - "client_id": "1oQC5ORWSgXf4D3muXm0JFSFfyBp0svZ", + "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4672,111 +5416,387 @@ "web_origins": [ "http://localhost:3000" ], - "custom_login_page_on": true + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": true, + "callbacks": [], + "is_first_party": true, + "name": "All Applications", + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" + ], + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/client-grants?take=50", + "body": "", + "status": 200, + "response": { + "client_grants": [ + { + "id": "cgr_JYmQHwQEXGDCc53P", + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ], + "subject_type": "client" }, { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "GRROzy1MZCZ9d84osY58JfLA3X02qtQL", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" + "id": "cgr_ReJeayDzA8FTvFPY", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" ], - "custom_login_page_on": true + "subject_type": "client" }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], - "is_first_party": true, - "name": "All Applications", - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/client-grants?take=50", - "body": "", - "status": 200, - "response": { - "client_grants": [ { "id": "cgr_pbwejzhwoujrsNE8", "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", @@ -5019,11 +6039,9 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/client-grants", + "method": "PATCH", + "path": "/api/v2/client-grants/cgr_ReJeayDzA8FTvFPY", "body": { - "client_id": "y47mfVuNz3nzK4VbATlDhYsU6sBHfq8e", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", "create:client_grants", @@ -5157,10 +6175,10 @@ "delete:organization_invitations" ] }, - "status": 201, + "status": 200, "response": { - "id": "cgr_nQbSrZMUhw4DZL08", - "client_id": "y47mfVuNz3nzK4VbATlDhYsU6sBHfq8e", + "id": "cgr_ReJeayDzA8FTvFPY", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -5301,11 +6319,9 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/client-grants", + "method": "PATCH", + "path": "/api/v2/client-grants/cgr_JYmQHwQEXGDCc53P", "body": { - "client_id": "Ls1MLBy6XnrS6FICBpTgagxcvY6g4Ln9", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", "create:client_grants", @@ -5439,10 +6455,10 @@ "delete:organization_invitations" ] }, - "status": 201, + "status": 200, "response": { - "id": "cgr_Wrw6xD2c9kmIaens", - "client_id": "Ls1MLBy6XnrS6FICBpTgagxcvY6g4Ln9", + "id": "cgr_JYmQHwQEXGDCc53P", + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -5588,7 +6604,43 @@ "body": "", "status": 200, "response": { - "roles": [], + "roles": [ + { + "id": "rol_EH7ASyHIXKqKPc4X", + "name": "Admin", + "description": "Can read and write things" + }, + { + "id": "rol_WHMW5tI8GYuTShEL", + "name": "Reader", + "description": "Can only read things" + }, + { + "id": "rol_dkoJYFPEbm4fBQUa", + "name": "read_only", + "description": "Read Only" + }, + { + "id": "rol_6mNIPtAC2wBSBD7S", + "name": "read_osnly", + "description": "Readz Only" + } + ], + "start": 0, + "limit": 100, + "total": 4 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], "start": 0, "limit": 100, "total": 0 @@ -5598,49 +6650,120 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/roles", - "body": { - "name": "Reader", - "description": "Can only read things" + "method": "GET", + "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL/permissions?per_page=100&page=0&include_totals=true", + "body": "", "status": 200, "response": { - "id": "rol_RHscBFVFVGjF0XUF", - "name": "Reader", - "description": "Can only read things" + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/roles", - "body": { - "name": "read_only", - "description": "Read Only" + "method": "GET", + "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa/permissions?per_page=100&page=0&include_totals=true", + "body": "", "status": 200, "response": { - "id": "rol_kL3UG17fgNRrEKRx", - "name": "read_only", - "description": "Read Only" + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/roles", + "method": "GET", + "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X", "body": { "name": "Admin", "description": "Can read and write things" }, "status": 200, "response": { - "id": "rol_46SzzG1V7VRvdtq8", + "id": "rol_EH7ASyHIXKqKPc4X", "name": "Admin", "description": "Can read and write things" }, @@ -5649,15 +6772,49 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/roles", + "method": "PATCH", + "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL", + "body": { + "name": "Reader", + "description": "Can only read things" + }, + "status": 200, + "response": { + "id": "rol_WHMW5tI8GYuTShEL", + "name": "Reader", + "description": "Can only read things" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa", + "body": { + "name": "read_only", + "description": "Read Only" + }, + "status": 200, + "response": { + "id": "rol_dkoJYFPEbm4fBQUa", + "name": "read_only", + "description": "Read Only" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S", "body": { "name": "read_osnly", "description": "Readz Only" }, "status": 200, "response": { - "id": "rol_zSgDEbLTgZ2JAGIy", + "id": "rol_6mNIPtAC2wBSBD7S", "name": "read_osnly", "description": "Readz Only" }, @@ -5693,7 +6850,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-05T07:04:31.162Z", + "updated_at": "2025-12-09T12:31:31.782Z", "branding": { "colors": { "primary": "#19aecc" @@ -5769,7 +6926,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-05T14:17:19.637Z", + "updated_at": "2025-12-09T12:35:22.470Z", "branding": { "colors": { "primary": "#19aecc" @@ -5782,25 +6939,27 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/email-templates/verify_email", + "path": "/api/v2/email-templates/welcome_email", "body": { - "template": "verify_email", - "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", - "enabled": true, + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "enabled": false, "from": "", - "subject": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", "syntax": "liquid", - "urlLifetimeInSeconds": 432000 + "urlLifetimeInSeconds": 3600 }, "status": 200, "response": { - "template": "verify_email", - "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", "from": "", - "subject": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", "syntax": "liquid", - "urlLifetimeInSeconds": 432000, - "enabled": true + "urlLifetimeInSeconds": 3600, + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -5808,27 +6967,25 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/email-templates/welcome_email", + "path": "/api/v2/email-templates/verify_email", "body": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "enabled": false, + "template": "verify_email", + "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", + "enabled": true, "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", + "subject": "", "syntax": "liquid", - "urlLifetimeInSeconds": 3600 + "urlLifetimeInSeconds": 432000 }, "status": 200, "response": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", + "template": "verify_email", + "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", + "subject": "", "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false + "urlLifetimeInSeconds": 432000, + "enabled": true }, "rawHeaders": [], "responseIsBinary": false @@ -5840,7 +6997,24 @@ "body": "", "status": 200, "response": { - "organizations": [] + "organizations": [ + { + "id": "org_fIRF1it8cTOyf2yS", + "name": "org1", + "display_name": "Organization", + "branding": { + "colors": { + "page_background": "#fff5f5", + "primary": "#57ddff" + } + } + }, + { + "id": "org_hWOYWXtnxIpJ0MX3", + "name": "org2", + "display_name": "Organization2" + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -5948,7 +7122,7 @@ "subject": "deprecated" } ], - "client_id": "y47mfVuNz3nzK4VbATlDhYsU6sBHfq8e", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5993,7 +7167,7 @@ "subject": "deprecated" } ], - "client_id": "qXCqK884hJUOYPhMMkXuFaoIlkDlIqsS", + "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6047,7 +7221,7 @@ } ], "allowed_origins": [], - "client_id": "tALNSCcv1RtuaFJdwZkpj8WW7Ai2wGwL", + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6093,7 +7267,7 @@ "subject": "deprecated" } ], - "client_id": "Ls1MLBy6XnrS6FICBpTgagxcvY6g4Ln9", + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6146,7 +7320,7 @@ "subject": "deprecated" } ], - "client_id": "m0BppkTR5PJR9UBbJmhOcXQm8kUBi3mb", + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6206,7 +7380,7 @@ "subject": "deprecated" } ], - "client_id": "1oQC5ORWSgXf4D3muXm0JFSFfyBp0svZ", + "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6264,7 +7438,7 @@ "subject": "deprecated" } ], - "client_id": "GRROzy1MZCZ9d84osY58JfLA3X02qtQL", + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6322,6 +7496,174 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/enabled_connections?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "enabled_connections": [], + "start": 0, + "limit": 0, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/enabled_connections?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "enabled_connections": [], + "start": 0, + "limit": 0, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/client-grants?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "client_grants": [], + "start": 0, + "limit": 50, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/client-grants?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "client_grants": [], + "start": 0, + "limit": 50, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/discovery-domains?take=50", + "body": "", + "status": 200, + "response": { + "domains": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/discovery-domains?take=50", + "body": "", + "status": 200, + "response": { + "domains": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/enabled_connections?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "enabled_connections": [], + "start": 0, + "limit": 0, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/enabled_connections?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "enabled_connections": [], + "start": 0, + "limit": 0, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/client-grants?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "client_grants": [], + "start": 0, + "limit": 50, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/client-grants?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "client_grants": [], + "start": 0, + "limit": 50, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/discovery-domains?take=50", + "body": "", + "status": 200, + "response": { + "domains": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/discovery-domains?take=50", + "body": "", + "status": 200, + "response": { + "domains": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -6331,7 +7673,7 @@ "response": { "connections": [ { - "id": "con_hZaTQt1ipndiAks3", + "id": "con_bBSD5AQUW0Q5aLuE", "options": { "mfa": { "active": true, @@ -6394,12 +7736,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "GRROzy1MZCZ9d84osY58JfLA3X02qtQL", - "tALNSCcv1RtuaFJdwZkpj8WW7Ai2wGwL" + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" ] }, { - "id": "con_PDStfmy3MyTLMu1x", + "id": "con_yGZ6rzfkdR6mMBoE", "options": { "email": true, "scope": [ @@ -6421,8 +7763,8 @@ "google-oauth2" ], "enabled_clients": [ - "GRROzy1MZCZ9d84osY58JfLA3X02qtQL", - "m0BppkTR5PJR9UBbJmhOcXQm8kUBi3mb" + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" ] } ] @@ -6439,8 +7781,8 @@ "response": { "client_grants": [ { - "id": "cgr_Wrw6xD2c9kmIaens", - "client_id": "Ls1MLBy6XnrS6FICBpTgagxcvY6g4Ln9", + "id": "cgr_JYmQHwQEXGDCc53P", + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -6577,8 +7919,8 @@ "subject_type": "client" }, { - "id": "cgr_nQbSrZMUhw4DZL08", - "client_id": "y47mfVuNz3nzK4VbATlDhYsU6sBHfq8e", + "id": "cgr_ReJeayDzA8FTvFPY", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -7057,7 +8399,7 @@ "subject": "deprecated" } ], - "client_id": "y47mfVuNz3nzK4VbATlDhYsU6sBHfq8e", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7102,7 +8444,7 @@ "subject": "deprecated" } ], - "client_id": "qXCqK884hJUOYPhMMkXuFaoIlkDlIqsS", + "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7156,7 +8498,7 @@ } ], "allowed_origins": [], - "client_id": "tALNSCcv1RtuaFJdwZkpj8WW7Ai2wGwL", + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7202,7 +8544,7 @@ "subject": "deprecated" } ], - "client_id": "Ls1MLBy6XnrS6FICBpTgagxcvY6g4Ln9", + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7255,7 +8597,7 @@ "subject": "deprecated" } ], - "client_id": "m0BppkTR5PJR9UBbJmhOcXQm8kUBi3mb", + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7315,7 +8657,7 @@ "subject": "deprecated" } ], - "client_id": "1oQC5ORWSgXf4D3muXm0JFSFfyBp0svZ", + "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7373,7 +8715,7 @@ "subject": "deprecated" } ], - "client_id": "GRROzy1MZCZ9d84osY58JfLA3X02qtQL", + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7433,15 +8775,14 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/organizations", + "method": "PATCH", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3", "body": { - "name": "org2", "display_name": "Organization2" }, - "status": 201, + "status": 200, "response": { - "id": "org_xFaZ9p68B4spMsY4", + "id": "org_hWOYWXtnxIpJ0MX3", "display_name": "Organization2", "name": "org2" }, @@ -7450,10 +8791,9 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/organizations", + "method": "PATCH", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS", "body": { - "name": "org1", "branding": { "colors": { "page_background": "#fff5f5", @@ -7462,17 +8802,17 @@ }, "display_name": "Organization" }, - "status": 201, + "status": 200, "response": { - "id": "org_QEYnCDUsFcZBfoaS", - "display_name": "Organization", - "name": "org1", "branding": { "colors": { "page_background": "#fff5f5", "primary": "#57ddff" } - } + }, + "id": "org_fIRF1it8cTOyf2yS", + "display_name": "Organization", + "name": "org1" }, "rawHeaders": [], "responseIsBinary": false @@ -7483,25 +8823,86 @@ "path": "/api/v2/log-streams", "body": "", "status": 200, - "response": [], + "response": [ + { + "id": "lst_0000000000025431", + "name": "Suspended DD Log Stream", + "type": "datadog", + "status": "active", + "sink": { + "datadogApiKey": "some-sensitive-api-key", + "datadogRegion": "us" + }, + "isPriority": false + }, + { + "id": "lst_0000000000025432", + "name": "Amazon EventBridge", + "type": "eventbridge", + "status": "active", + "sink": { + "awsAccountId": "123456789012", + "awsRegion": "us-east-2", + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-84b807b2-8a87-4d4b-87eb-ff1b56370b3a/auth0.logs" + }, + "filters": [ + { + "type": "category", + "name": "auth.login.success" + }, + { + "type": "category", + "name": "auth.login.notification" + }, + { + "type": "category", + "name": "auth.login.fail" + }, + { + "type": "category", + "name": "auth.signup.success" + }, + { + "type": "category", + "name": "auth.logout.success" + }, + { + "type": "category", + "name": "auth.logout.fail" + }, + { + "type": "category", + "name": "auth.silent_auth.fail" + }, + { + "type": "category", + "name": "auth.silent_auth.success" + }, + { + "type": "category", + "name": "auth.token_exchange.fail" + } + ], + "isPriority": false + } + ], "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/log-streams", + "method": "PATCH", + "path": "/api/v2/log-streams/lst_0000000000025431", "body": { "name": "Suspended DD Log Stream", "sink": { "datadogApiKey": "some-sensitive-api-key", "datadogRegion": "us" - }, - "type": "datadog" + } }, "status": 200, "response": { - "id": "lst_0000000000025429", + "id": "lst_0000000000025431", "name": "Suspended DD Log Stream", "type": "datadog", "status": "active", @@ -7516,8 +8917,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/log-streams", + "method": "PATCH", + "path": "/api/v2/log-streams/lst_0000000000025432", "body": { "name": "Amazon EventBridge", "filters": [ @@ -7558,22 +8959,18 @@ "name": "auth.token_exchange.fail" } ], - "sink": { - "awsAccountId": "123456789012", - "awsRegion": "us-east-2" - }, - "type": "eventbridge" + "status": "active" }, "status": 200, "response": { - "id": "lst_0000000000025430", + "id": "lst_0000000000025432", "name": "Amazon EventBridge", "type": "eventbridge", "status": "active", "sink": { "awsAccountId": "123456789012", "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-5c0e180e-b406-4da2-92eb-a6fa8507a291/auth0.logs" + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-84b807b2-8a87-4d4b-87eb-ff1b56370b3a/auth0.logs" }, "filters": [ { @@ -7664,7 +9061,7 @@ "name": "Blank-form", "flow_count": 0, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-05T09:38:30.169Z" + "updated_at": "2025-12-09T12:31:42.735Z" } ] }, @@ -7735,7 +9132,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-05T09:38:30.169Z" + "updated_at": "2025-12-09T12:31:42.735Z" }, "rawHeaders": [], "responseIsBinary": false @@ -7860,7 +9257,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-05T14:17:26.192Z" + "updated_at": "2025-12-09T12:35:32.845Z" }, "rawHeaders": [], "responseIsBinary": false @@ -9080,7 +10477,7 @@ "subject": "deprecated" } ], - "client_id": "y47mfVuNz3nzK4VbATlDhYsU6sBHfq8e", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9125,7 +10522,7 @@ "subject": "deprecated" } ], - "client_id": "qXCqK884hJUOYPhMMkXuFaoIlkDlIqsS", + "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9179,7 +10576,7 @@ } ], "allowed_origins": [], - "client_id": "tALNSCcv1RtuaFJdwZkpj8WW7Ai2wGwL", + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9225,7 +10622,7 @@ "subject": "deprecated" } ], - "client_id": "Ls1MLBy6XnrS6FICBpTgagxcvY6g4Ln9", + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9278,7 +10675,7 @@ "subject": "deprecated" } ], - "client_id": "m0BppkTR5PJR9UBbJmhOcXQm8kUBi3mb", + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9338,7 +10735,7 @@ "subject": "deprecated" } ], - "client_id": "1oQC5ORWSgXf4D3muXm0JFSFfyBp0svZ", + "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9396,7 +10793,7 @@ "subject": "deprecated" } ], - "client_id": "GRROzy1MZCZ9d84osY58JfLA3X02qtQL", + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9420,7 +10817,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/y47mfVuNz3nzK4VbATlDhYsU6sBHfq8e", + "path": "/api/v2/clients/feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", "body": "", "status": 204, "response": "", @@ -9430,7 +10827,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/tALNSCcv1RtuaFJdwZkpj8WW7Ai2wGwL", + "path": "/api/v2/clients/xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", "body": "", "status": 204, "response": "", @@ -9440,7 +10837,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/qXCqK884hJUOYPhMMkXuFaoIlkDlIqsS", + "path": "/api/v2/clients/c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", "body": "", "status": 204, "response": "", @@ -9450,7 +10847,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/Ls1MLBy6XnrS6FICBpTgagxcvY6g4Ln9", + "path": "/api/v2/clients/3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", "body": "", "status": 204, "response": "", @@ -9460,7 +10857,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/m0BppkTR5PJR9UBbJmhOcXQm8kUBi3mb", + "path": "/api/v2/clients/ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", "body": "", "status": 204, "response": "", @@ -9470,7 +10867,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/1oQC5ORWSgXf4D3muXm0JFSFfyBp0svZ", + "path": "/api/v2/clients/3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", "body": "", "status": 204, "response": "", @@ -9480,7 +10877,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/GRROzy1MZCZ9d84osY58JfLA3X02qtQL", + "path": "/api/v2/clients/XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", "body": "", "status": 204, "response": "", @@ -9551,7 +10948,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "client_id": "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9601,7 +10998,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-platform", + "path": "/api/v2/guardian/factors/otp", "body": { "enabled": false }, @@ -9615,7 +11012,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/otp", + "path": "/api/v2/guardian/factors/recovery-code", "body": { "enabled": false }, @@ -9629,7 +11026,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", + "path": "/api/v2/guardian/factors/webauthn-platform", "body": { "enabled": false }, @@ -9643,7 +11040,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/recovery-code", + "path": "/api/v2/guardian/factors/sms", "body": { "enabled": false }, @@ -9671,7 +11068,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/webauthn-roaming", "body": { "enabled": false }, @@ -9744,7 +11141,7 @@ "response": { "actions": [ { - "id": "0c33a5ff-8c26-44e6-9c95-78b980a40e12", + "id": "4273221d-f20e-44e6-aa9d-d45702782e4e", "name": "My Custom Action", "supported_triggers": [ { @@ -9752,34 +11149,34 @@ "version": "v2" } ], - "created_at": "2025-12-05T14:17:01.355911147Z", - "updated_at": "2025-12-05T14:17:01.372519072Z", + "created_at": "2025-12-05T14:18:53.100690661Z", + "updated_at": "2025-12-09T12:35:06.967806400Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "built", "secrets": [], "current_version": { - "id": "7449cbf1-56ef-45a8-88fb-76e3da65a88c", + "id": "180cfbad-155a-407a-94b3-cf0dfab34726", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node18", "status": "BUILT", - "number": 1, - "build_time": "2025-12-05T14:17:02.387240600Z", - "created_at": "2025-12-05T14:17:02.267752368Z", - "updated_at": "2025-12-05T14:17:02.389468426Z" + "number": 8, + "build_time": "2025-12-09T12:35:07.834791992Z", + "created_at": "2025-12-09T12:35:07.753860417Z", + "updated_at": "2025-12-09T12:35:07.836162168Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "7449cbf1-56ef-45a8-88fb-76e3da65a88c", + "id": "180cfbad-155a-407a-94b3-cf0dfab34726", "deployed": true, - "number": 1, - "built_at": "2025-12-05T14:17:02.387240600Z", + "number": 8, + "built_at": "2025-12-09T12:35:07.834791992Z", "secrets": [], "status": "built", - "created_at": "2025-12-05T14:17:02.267752368Z", - "updated_at": "2025-12-05T14:17:02.389468426Z", + "created_at": "2025-12-09T12:35:07.753860417Z", + "updated_at": "2025-12-09T12:35:07.836162168Z", "runtime": "node18", "supported_triggers": [ { @@ -9800,7 +11197,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/actions/actions/0c33a5ff-8c26-44e6-9c95-78b980a40e12?force=true", + "path": "/api/v2/actions/actions/4273221d-f20e-44e6-aa9d-d45702782e4e?force=true", "body": "", "status": 204, "response": "", @@ -9810,40 +11207,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/actions?page=0&per_page=100", - "body": "", - "status": 200, - "response": { - "actions": [], - "per_page": 100 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/breached-password-detection", - "body": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard" - }, - "status": 200, - "response": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard", - "stage": { - "pre-user-registration": { - "shields": [] - }, - "pre-change-password": { - "shields": [] - } - } + "path": "/api/v2/actions/actions?page=0&per_page=100", + "body": "", + "status": 200, + "response": { + "actions": [], + "per_page": 100 }, "rawHeaders": [], "responseIsBinary": false @@ -9892,6 +11261,34 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/breached-password-detection", + "body": { + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard" + }, + "status": 200, + "response": { + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard", + "stage": { + "pre-user-registration": { + "shields": [] + }, + "pre-change-password": { + "shields": [] + } + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -10013,7 +11410,7 @@ "subject": "deprecated" } ], - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "client_id": "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10080,7 +11477,7 @@ "response": { "connections": [ { - "id": "con_hZaTQt1ipndiAks3", + "id": "con_bBSD5AQUW0Q5aLuE", "options": { "mfa": { "active": true, @@ -10158,7 +11555,7 @@ "response": { "connections": [ { - "id": "con_hZaTQt1ipndiAks3", + "id": "con_bBSD5AQUW0Q5aLuE", "options": { "mfa": { "active": true, @@ -10230,7 +11627,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_hZaTQt1ipndiAks3/clients?take=50", + "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients?take=50", "body": "", "status": 200, "response": { @@ -10242,7 +11639,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_hZaTQt1ipndiAks3/clients?take=50", + "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients?take=50", "body": "", "status": 200, "response": { @@ -10254,11 +11651,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/connections/con_hZaTQt1ipndiAks3", + "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE", "body": "", "status": 202, "response": { - "deleted_at": "2025-12-05T14:17:40.094Z" + "deleted_at": "2025-12-09T12:35:45.505Z" }, "rawHeaders": [], "responseIsBinary": false @@ -10272,7 +11669,7 @@ "strategy": "auth0", "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" + "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5" ], "is_domain_connection": false, "options": { @@ -10290,7 +11687,7 @@ }, "status": 201, "response": { - "id": "con_CfDqv7jPXpFqETeK", + "id": "con_hKLY3IvYo1iFcMHg", "options": { "mfa": { "active": true, @@ -10324,7 +11721,7 @@ "active": false }, "enabled_clients": [ - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ], "realms": [ @@ -10343,7 +11740,7 @@ "response": { "connections": [ { - "id": "con_CfDqv7jPXpFqETeK", + "id": "con_hKLY3IvYo1iFcMHg", "options": { "mfa": { "active": true, @@ -10380,7 +11777,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -10392,14 +11789,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients", + "path": "/api/v2/connections/con_hKLY3IvYo1iFcMHg/clients", "body": [ { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "status": true }, { - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "client_id": "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5", "status": true } ], @@ -10501,7 +11898,7 @@ "subject": "deprecated" } ], - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "client_id": "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10568,7 +11965,7 @@ "response": { "connections": [ { - "id": "con_PDStfmy3MyTLMu1x", + "id": "con_yGZ6rzfkdR6mMBoE", "options": { "email": true, "scope": [ @@ -10592,7 +11989,7 @@ "enabled_clients": [] }, { - "id": "con_CfDqv7jPXpFqETeK", + "id": "con_hKLY3IvYo1iFcMHg", "options": { "mfa": { "active": true, @@ -10629,7 +12026,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -10647,7 +12044,7 @@ "response": { "connections": [ { - "id": "con_PDStfmy3MyTLMu1x", + "id": "con_yGZ6rzfkdR6mMBoE", "options": { "email": true, "scope": [ @@ -10671,7 +12068,7 @@ "enabled_clients": [] }, { - "id": "con_CfDqv7jPXpFqETeK", + "id": "con_hKLY3IvYo1iFcMHg", "options": { "mfa": { "active": true, @@ -10708,7 +12105,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -10720,7 +12117,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_PDStfmy3MyTLMu1x/clients?take=50", + "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients?take=50", "body": "", "status": 200, "response": { @@ -10732,7 +12129,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_PDStfmy3MyTLMu1x/clients?take=50", + "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients?take=50", "body": "", "status": 200, "response": { @@ -10744,11 +12141,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/connections/con_PDStfmy3MyTLMu1x", + "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE", "body": "", "status": 202, "response": { - "deleted_at": "2025-12-05T14:17:45.941Z" + "deleted_at": "2025-12-09T12:35:51.306Z" }, "rawHeaders": [], "responseIsBinary": false @@ -10880,7 +12277,7 @@ "subject": "deprecated" } ], - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "client_id": "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11195,22 +12592,22 @@ "response": { "roles": [ { - "id": "rol_46SzzG1V7VRvdtq8", + "id": "rol_EH7ASyHIXKqKPc4X", "name": "Admin", "description": "Can read and write things" }, { - "id": "rol_RHscBFVFVGjF0XUF", + "id": "rol_WHMW5tI8GYuTShEL", "name": "Reader", "description": "Can only read things" }, { - "id": "rol_kL3UG17fgNRrEKRx", + "id": "rol_dkoJYFPEbm4fBQUa", "name": "read_only", "description": "Read Only" }, { - "id": "rol_zSgDEbLTgZ2JAGIy", + "id": "rol_6mNIPtAC2wBSBD7S", "name": "read_osnly", "description": "Readz Only" } @@ -11225,7 +12622,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_46SzzG1V7VRvdtq8/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -11240,7 +12637,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_46SzzG1V7VRvdtq8/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -11255,7 +12652,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_RHscBFVFVGjF0XUF/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -11270,7 +12667,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_RHscBFVFVGjF0XUF/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -11285,7 +12682,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_kL3UG17fgNRrEKRx/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -11300,7 +12697,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_kL3UG17fgNRrEKRx/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -11315,7 +12712,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_zSgDEbLTgZ2JAGIy/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -11330,7 +12727,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_zSgDEbLTgZ2JAGIy/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -11345,7 +12742,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/roles/rol_46SzzG1V7VRvdtq8", + "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X", "body": "", "status": 200, "response": {}, @@ -11355,7 +12752,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/roles/rol_RHscBFVFVGjF0XUF", + "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa", "body": "", "status": 200, "response": {}, @@ -11365,7 +12762,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/roles/rol_kL3UG17fgNRrEKRx", + "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL", "body": "", "status": 200, "response": {}, @@ -11375,7 +12772,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/roles/rol_zSgDEbLTgZ2JAGIy", + "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S", "body": "", "status": 200, "response": {}, @@ -11391,12 +12788,7 @@ "response": { "organizations": [ { - "id": "org_xFaZ9p68B4spMsY4", - "name": "org2", - "display_name": "Organization2" - }, - { - "id": "org_QEYnCDUsFcZBfoaS", + "id": "org_fIRF1it8cTOyf2yS", "name": "org1", "display_name": "Organization", "branding": { @@ -11405,6 +12797,11 @@ "primary": "#57ddff" } } + }, + { + "id": "org_hWOYWXtnxIpJ0MX3", + "name": "org2", + "display_name": "Organization2" } ] }, @@ -11504,7 +12901,7 @@ "subject": "deprecated" } ], - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "client_id": "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11565,7 +12962,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_xFaZ9p68B4spMsY4/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -11580,7 +12977,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_xFaZ9p68B4spMsY4/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -11595,7 +12992,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_xFaZ9p68B4spMsY4/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -11610,7 +13007,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_xFaZ9p68B4spMsY4/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -11625,7 +13022,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_xFaZ9p68B4spMsY4/discovery-domains?take=50", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -11637,7 +13034,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_xFaZ9p68B4spMsY4/discovery-domains?take=50", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -11649,7 +13046,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_QEYnCDUsFcZBfoaS/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -11664,7 +13061,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_QEYnCDUsFcZBfoaS/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -11679,7 +13076,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_QEYnCDUsFcZBfoaS/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -11694,7 +13091,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_QEYnCDUsFcZBfoaS/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -11709,7 +13106,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_QEYnCDUsFcZBfoaS/discovery-domains?take=50", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -11721,7 +13118,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_QEYnCDUsFcZBfoaS/discovery-domains?take=50", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -11739,7 +13136,7 @@ "response": { "connections": [ { - "id": "con_CfDqv7jPXpFqETeK", + "id": "con_hKLY3IvYo1iFcMHg", "options": { "mfa": { "active": true, @@ -11776,7 +13173,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -12126,7 +13523,7 @@ "subject": "deprecated" } ], - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "client_id": "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12187,7 +13584,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/organizations/org_QEYnCDUsFcZBfoaS", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS", "body": "", "status": 204, "response": "", @@ -12197,7 +13594,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/organizations/org_xFaZ9p68B4spMsY4", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3", "body": "", "status": 204, "response": "", @@ -12212,7 +13609,7 @@ "status": 200, "response": [ { - "id": "lst_0000000000025429", + "id": "lst_0000000000025431", "name": "Suspended DD Log Stream", "type": "datadog", "status": "active", @@ -12223,14 +13620,14 @@ "isPriority": false }, { - "id": "lst_0000000000025430", + "id": "lst_0000000000025432", "name": "Amazon EventBridge", "type": "eventbridge", "status": "active", "sink": { "awsAccountId": "123456789012", "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-5c0e180e-b406-4da2-92eb-a6fa8507a291/auth0.logs" + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-84b807b2-8a87-4d4b-87eb-ff1b56370b3a/auth0.logs" }, "filters": [ { @@ -12279,7 +13676,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/log-streams/lst_0000000000025429", + "path": "/api/v2/log-streams/lst_0000000000025431", "body": "", "status": 204, "response": "", @@ -12289,7 +13686,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/log-streams/lst_0000000000025430", + "path": "/api/v2/log-streams/lst_0000000000025432", "body": "", "status": 204, "response": "", @@ -13581,7 +14978,7 @@ "subject": "deprecated" } ], - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "client_id": "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13611,7 +15008,7 @@ "response": { "connections": [ { - "id": "con_CfDqv7jPXpFqETeK", + "id": "con_hKLY3IvYo1iFcMHg", "options": { "mfa": { "active": true, @@ -13648,7 +15045,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -13660,13 +15057,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients?take=50", + "path": "/api/v2/connections/con_hKLY3IvYo1iFcMHg/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" + "client_id": "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -13679,13 +15076,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients?take=50", + "path": "/api/v2/connections/con_hKLY3IvYo1iFcMHg/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" + "client_id": "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -13704,7 +15101,7 @@ "response": { "connections": [ { - "id": "con_CfDqv7jPXpFqETeK", + "id": "con_hKLY3IvYo1iFcMHg", "options": { "mfa": { "active": true, @@ -13741,7 +15138,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -13873,7 +15270,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/blocked_account", + "path": "/api/v2/email-templates/reset_email", "body": "", "status": 404, "response": { @@ -13907,7 +15304,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/change_password", + "path": "/api/v2/email-templates/blocked_account", "body": "", "status": 404, "response": { @@ -13922,7 +15319,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/user_invitation", + "path": "/api/v2/email-templates/mfa_oob_code", "body": "", "status": 404, "response": { @@ -13967,7 +15364,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email", + "path": "/api/v2/email-templates/change_password", "body": "", "status": 404, "response": { @@ -13997,7 +15394,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/mfa_oob_code", + "path": "/api/v2/email-templates/async_approval", "body": "", "status": 404, "response": { @@ -14012,7 +15409,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/async_approval", + "path": "/api/v2/email-templates/reset_email_by_code", "body": "", "status": 404, "response": { @@ -14027,7 +15424,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email_by_code", + "path": "/api/v2/email-templates/user_invitation", "body": "", "status": 404, "response": { @@ -14341,7 +15738,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/guardian/factors/sms/providers/twilio", + "path": "/api/v2/guardian/factors/push-notification/providers/sns", "body": "", "status": 200, "response": {}, @@ -14351,7 +15748,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/guardian/factors/push-notification/providers/sns", + "path": "/api/v2/guardian/factors/sms/providers/twilio", "body": "", "status": 200, "response": {}, @@ -14453,7 +15850,101 @@ "body": "", "status": 200, "response": { - "providers": [] + "providers": [ + { + "id": "pro_mY3L5BP6iVUUzpv22opofm", + "tenant": "auth0-deploy-cli-e2e", + "name": "custom", + "channel": "phone", + "disabled": false, + "configuration": { + "delivery_methods": [ + "text" + ] + }, + "credentials": null, + "created_at": "2025-12-09T12:24:00.604Z", + "updated_at": "2025-12-09T12:30:28.218Z" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/branding/phone/templates", + "body": "", + "status": 200, + "response": { + "templates": [ + { + "id": "tem_dL83uTmWn8moGzm8UgAk4Q", + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "blocked_account", + "disabled": false, + "created_at": "2025-12-09T12:22:47.683Z", + "updated_at": "2025-12-09T12:30:30.019Z", + "content": { + "syntax": "liquid", + "body": { + "text": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message.", + "voice": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message." + }, + "from": "0032232323" + } + }, + { + "id": "tem_xqbUSF83fpnRv8r8rqXFDZ", + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "change_password", + "disabled": false, + "created_at": "2025-12-09T12:26:20.243Z", + "updated_at": "2025-12-09T12:30:30.034Z", + "content": { + "syntax": "liquid", + "body": { + "text": "{{ code | escape }} is your password change code for {{ friendly_name | escape }}", + "voice": "Hello. Your password change code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your password change code is {{ pause }} {{ code | escape }}" + } + } + }, + { + "id": "tem_qarYST5TTE5pbMNB5NHZAj", + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "otp_enroll", + "disabled": false, + "created_at": "2025-12-09T12:26:25.327Z", + "updated_at": "2025-12-09T12:30:30.174Z", + "content": { + "syntax": "liquid", + "body": { + "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}. Please enter this code to verify your enrollment.", + "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" + } + } + }, + { + "id": "tem_o4LBTt4NQyX8K4vC9dPafR", + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "otp_verify", + "disabled": false, + "created_at": "2025-12-09T12:26:30.547Z", + "updated_at": "2025-12-09T12:30:30.365Z", + "content": { + "syntax": "liquid", + "body": { + "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}", + "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" + } + } + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -14556,7 +16047,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/custom-text/en", + "path": "/api/v2/prompts/login-password/custom-text/en", "body": "", "status": 200, "response": {}, @@ -14566,7 +16057,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-password/custom-text/en", + "path": "/api/v2/prompts/login-id/custom-text/en", "body": "", "status": 200, "response": {}, @@ -14786,7 +16277,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa/custom-text/en", + "path": "/api/v2/prompts/status/custom-text/en", "body": "", "status": 200, "response": {}, @@ -14796,7 +16287,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/status/custom-text/en", + "path": "/api/v2/prompts/mfa/custom-text/en", "body": "", "status": 200, "response": {}, @@ -14816,7 +16307,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/email-verification/custom-text/en", + "path": "/api/v2/prompts/email-otp-challenge/custom-text/en", "body": "", "status": 200, "response": {}, @@ -14826,7 +16317,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/email-otp-challenge/custom-text/en", + "path": "/api/v2/prompts/email-verification/custom-text/en", "body": "", "status": 200, "response": {}, @@ -14876,7 +16367,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/brute-force-protection/custom-text/en", + "path": "/api/v2/prompts/passkeys/custom-text/en", "body": "", "status": 200, "response": {}, @@ -14886,7 +16377,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/passkeys/custom-text/en", + "path": "/api/v2/prompts/brute-force-protection/custom-text/en", "body": "", "status": 200, "response": {}, @@ -14896,7 +16387,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login/partials", + "path": "/api/v2/prompts/login-password/partials", "body": "", "status": 200, "response": {}, @@ -14906,7 +16397,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-password/partials", + "path": "/api/v2/prompts/login/partials", "body": "", "status": 200, "response": {}, @@ -14984,12 +16475,23 @@ "status": 200, "response": { "triggers": [ + { + "id": "post-login", + "version": "v2", + "status": "DEPRECATED", + "runtimes": [ + "node12", + "node18" + ], + "default_runtime": "node16", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, { "id": "post-login", "version": "v3", "status": "CURRENT", "runtimes": [ - "node12", "node18-actions", "node22" ], @@ -15003,21 +16505,23 @@ ] }, { - "id": "post-login", + "id": "credentials-exchange", "version": "v2", - "status": "DEPRECATED", + "status": "CURRENT", "runtimes": [ - "node18" + "node18-actions", + "node22" ], - "default_runtime": "node16", + "default_runtime": "node22", "binding_policy": "trigger-bound", "compatible_triggers": [] }, { - "id": "credentials-exchange", + "id": "pre-user-registration", "version": "v2", "status": "CURRENT", "runtimes": [ + "node12", "node18-actions", "node22" ], @@ -15026,7 +16530,7 @@ "compatible_triggers": [] }, { - "id": "pre-user-registration", + "id": "post-user-registration", "version": "v1", "status": "DEPRECATED", "runtimes": [ @@ -15036,24 +16540,11 @@ "binding_policy": "trigger-bound", "compatible_triggers": [] }, - { - "id": "pre-user-registration", - "version": "v2", - "status": "CURRENT", - "runtimes": [ - "node18-actions", - "node22" - ], - "default_runtime": "node22", - "binding_policy": "trigger-bound", - "compatible_triggers": [] - }, { "id": "post-user-registration", "version": "v2", "status": "CURRENT", "runtimes": [ - "node12", "node18-actions", "node22" ], @@ -15066,6 +16557,7 @@ "version": "v2", "status": "CURRENT", "runtimes": [ + "node12", "node18-actions", "node22" ], @@ -15073,22 +16565,12 @@ "binding_policy": "trigger-bound", "compatible_triggers": [] }, - { - "id": "send-phone-message", - "version": "v1", - "status": "DEPRECATED", - "runtimes": [ - "node12" - ], - "default_runtime": "node12", - "binding_policy": "trigger-bound", - "compatible_triggers": [] - }, { "id": "send-phone-message", "version": "v2", "status": "CURRENT", "runtimes": [ + "node12", "node18-actions", "node22" ], @@ -15433,7 +16915,7 @@ "subject": "deprecated" } ], - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "client_id": "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -15560,6 +17042,23 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/attack-protection/bot-detection", + "body": "", + "status": 200, + "response": { + "challenge_password_policy": "never", + "challenge_passwordless_policy": "never", + "challenge_password_reset_policy": "never", + "allowlist": [], + "bot_detection_level": "medium", + "monitoring_mode_enabled": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -15595,23 +17094,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/attack-protection/bot-detection", - "body": "", - "status": 200, - "response": { - "challenge_password_policy": "never", - "challenge_passwordless_policy": "never", - "challenge_password_reset_policy": "never", - "allowlist": [], - "bot_detection_level": "medium", - "monitoring_mode_enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -15650,14 +17132,22 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, - "total": 0, - "flows": [] + "total": 1, + "forms": [ + { + "id": "ap_6JUSCU7qq1CravnoU6d6jr", + "name": "Blank-form", + "flow_count": 0, + "created_at": "2024-11-26T11:58:18.187Z", + "updated_at": "2025-12-09T12:35:32.845Z" + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -15665,22 +17155,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, - "total": 1, - "forms": [ - { - "id": "ap_6JUSCU7qq1CravnoU6d6jr", - "name": "Blank-form", - "flow_count": 0, - "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-05T14:17:26.192Z" - } - ] + "total": 0, + "flows": [] }, "rawHeaders": [], "responseIsBinary": false @@ -15749,7 +17231,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-05T14:17:26.192Z" + "updated_at": "2025-12-09T12:35:32.845Z" }, "rawHeaders": [], "responseIsBinary": false @@ -15757,14 +17239,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { - "limit": 50, + "limit": 100, "start": 0, "total": 0, - "connections": [] + "flows": [] }, "rawHeaders": [], "responseIsBinary": false @@ -15772,14 +17254,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "limit": 100, + "limit": 50, "start": 0, "total": 0, - "flows": [] + "connections": [] }, "rawHeaders": [], "responseIsBinary": false @@ -15858,7 +17340,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-05T14:17:19.637Z", + "updated_at": "2025-12-09T12:35:22.470Z", "branding": { "colors": { "primary": "#19aecc" @@ -15910,7 +17392,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-05T14:17:03.449Z", + "updated_at": "2025-12-09T12:35:08.930Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] diff --git a/test/e2e/recordings/should-deploy-without-deleting-resources-if-AUTH0_ALLOW_DELETE-is-false.json b/test/e2e/recordings/should-deploy-without-deleting-resources-if-AUTH0_ALLOW_DELETE-is-false.json index ab0cd0cb7..10e45b352 100644 --- a/test/e2e/recordings/should-deploy-without-deleting-resources-if-AUTH0_ALLOW_DELETE-is-false.json +++ b/test/e2e/recordings/should-deploy-without-deleting-resources-if-AUTH0_ALLOW_DELETE-is-false.json @@ -1201,7 +1201,7 @@ "body": "", "status": 200, "response": { - "total": 2, + "total": 9, "start": 0, "limit": 100, "clients": [ @@ -1302,183 +1302,463 @@ "client_credentials" ], "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/clients", - "body": { - "name": "API Explorer Application", - "allowed_clients": [], - "app_type": "non_interactive", - "callbacks": [], - "client_aliases": [], - "client_metadata": {}, - "cross_origin_auth": false, - "custom_login_page_on": true, - "grant_types": [ - "client_credentials" - ], - "is_first_party": true, - "is_token_endpoint_ip_header_trusted": false, - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "native_social_login": { - "apple": { - "enabled": false }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post" - }, - "status": 201, - "response": { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "encrypted": true, - "signing_keys": [ { - "cert": "[REDACTED]", - "key": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" - } - ], - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/clients", - "body": { - "name": "Quickstarts API (Test Application)", - "app_type": "non_interactive", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, - "custom_login_page_on": true, - "grant_types": [ - "client_credentials" - ], - "is_first_party": true, - "is_token_endpoint_ip_header_trusted": false, - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post" - }, - "status": 201, - "response": { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "encrypted": true, - "signing_keys": [ + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "allowed_origins": [], + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "regular_web", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "web_origins": [], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Terraform Provider", + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "The Default App", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso": false, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "none", + "app_type": "spa", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/clients/feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "body": { + "name": "API Explorer Application", + "allowed_clients": [], + "app_type": "non_interactive", + "callbacks": [], + "client_aliases": [], + "client_metadata": {}, + "cross_origin_auth": false, + "custom_login_page_on": true, + "grant_types": [ + "client_credentials" + ], + "is_first_party": true, + "is_token_endpoint_ip_header_trusted": false, + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000 + }, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "token_endpoint_auth_method": "client_secret_post" + }, + "status": 200, + "response": { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ { "cert": "[REDACTED]", - "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1486,6 +1766,7 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", "app_type": "non_interactive", "grant_types": [ @@ -1498,8 +1779,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/clients", + "method": "PATCH", + "path": "/api/v2/clients/xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", "body": { "name": "Node App", "allowed_clients": [], @@ -1521,8 +1802,7 @@ "is_token_endpoint_ip_header_trusted": false, "jwt_configuration": { "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false + "lifetime_in_seconds": 36000 }, "native_social_login": { "apple": { @@ -1546,7 +1826,7 @@ "token_endpoint_auth_method": "client_secret_post", "web_origins": [] }, - "status": 201, + "status": 200, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -1578,11 +1858,9 @@ }, "sso_disabled": false, "cross_origin_authentication": false, - "encrypted": true, "signing_keys": [ { "cert": "[REDACTED]", - "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } @@ -1613,11 +1891,14 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/clients", + "method": "PATCH", + "path": "/api/v2/clients/c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", "body": { - "name": "Terraform Provider", + "name": "Quickstarts API (Test Application)", "app_type": "non_interactive", + "client_metadata": { + "foo": "bar" + }, "cross_origin_auth": false, "custom_login_page_on": true, "grant_types": [ @@ -1625,11 +1906,89 @@ ], "is_first_party": true, "is_token_endpoint_ip_header_trusted": false, + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000 + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "token_endpoint_auth_method": "client_secret_post" + }, + "status": 200, + "response": { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" + } + ], + "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "callback_url_template": false, + "client_secret": "[REDACTED]", "jwt_configuration": { "alg": "RS256", "lifetime_in_seconds": 36000, "secret_encoded": false }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/clients/3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "body": { + "name": "Terraform Provider", + "app_type": "non_interactive", + "cross_origin_auth": false, + "custom_login_page_on": true, + "grant_types": [ + "client_credentials" + ], + "is_first_party": true, + "is_token_endpoint_ip_header_trusted": false, + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000 + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -1643,7 +2002,7 @@ "sso_disabled": false, "token_endpoint_auth_method": "client_secret_post" }, - "status": 201, + "status": 200, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -1663,11 +2022,9 @@ }, "sso_disabled": false, "cross_origin_authentication": false, - "encrypted": true, "signing_keys": [ { "cert": "[REDACTED]", - "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } @@ -1692,8 +2049,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/clients", + "method": "PATCH", + "path": "/api/v2/clients/ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", "body": { "name": "The Default App", "allowed_clients": [], @@ -1712,8 +2069,7 @@ "is_token_endpoint_ip_header_trusted": false, "jwt_configuration": { "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false + "lifetime_in_seconds": 36000 }, "native_social_login": { "apple": { @@ -1737,7 +2093,7 @@ "sso_disabled": false, "token_endpoint_auth_method": "client_secret_post" }, - "status": 201, + "status": 200, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -1769,11 +2125,9 @@ "sso": false, "sso_disabled": false, "cross_origin_authentication": false, - "encrypted": true, "signing_keys": [ { "cert": "[REDACTED]", - "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } @@ -1801,8 +2155,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/clients", + "method": "PATCH", + "path": "/api/v2/clients/3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", "body": { "name": "Test SPA", "allowed_clients": [], @@ -1826,8 +2180,7 @@ "is_token_endpoint_ip_header_trusted": false, "jwt_configuration": { "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false + "lifetime_in_seconds": 36000 }, "native_social_login": { "apple": { @@ -1853,7 +2206,7 @@ "http://localhost:3000" ] }, - "status": 201, + "status": 200, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -1889,11 +2242,9 @@ }, "sso_disabled": false, "cross_origin_authentication": false, - "encrypted": true, "signing_keys": [ { "cert": "[REDACTED]", - "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } @@ -1924,8 +2275,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/clients", + "method": "PATCH", + "path": "/api/v2/clients/XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", "body": { "name": "auth0-deploy-cli-extension", "allowed_clients": [], @@ -1942,8 +2293,7 @@ "is_token_endpoint_ip_header_trusted": false, "jwt_configuration": { "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false + "lifetime_in_seconds": 36000 }, "native_social_login": { "apple": { @@ -1966,7 +2316,7 @@ "sso_disabled": false, "token_endpoint_auth_method": "client_secret_post" }, - "status": 201, + "status": 200, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -1997,11 +2347,9 @@ }, "sso_disabled": false, "cross_origin_authentication": false, - "encrypted": true, "signing_keys": [ { "cert": "[REDACTED]", - "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } @@ -2028,7 +2376,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/duo", + "path": "/api/v2/guardian/factors/otp", "body": { "enabled": false }, @@ -2042,7 +2390,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/otp", + "path": "/api/v2/guardian/factors/duo", "body": { "enabled": false }, @@ -2056,7 +2404,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-platform", + "path": "/api/v2/guardian/factors/email", "body": { "enabled": false }, @@ -2070,13 +2418,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/push-notification", + "path": "/api/v2/guardian/factors/sms", "body": { - "enabled": true + "enabled": false }, "status": 200, "response": { - "enabled": true + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -2098,7 +2446,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/recovery-code", + "path": "/api/v2/guardian/factors/webauthn-platform", "body": { "enabled": false }, @@ -2112,13 +2460,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/email", + "path": "/api/v2/guardian/factors/push-notification", "body": { - "enabled": false + "enabled": true }, "status": 200, "response": { - "enabled": false + "enabled": true }, "rawHeaders": [], "responseIsBinary": false @@ -2126,7 +2474,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/recovery-code", "body": { "enabled": false }, @@ -2202,7 +2550,103 @@ "body": "", "status": 200, "response": { - "actions": [], + "actions": [ + { + "id": "4273221d-f20e-44e6-aa9d-d45702782e4e", + "name": "My Custom Action", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ], + "created_at": "2025-12-05T14:18:53.100690661Z", + "updated_at": "2025-12-09T12:30:12.235100452Z", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "dependencies": [], + "runtime": "node18", + "status": "built", + "secrets": [], + "current_version": { + "id": "0add2116-19c1-4f2d-b66a-3592d7d38559", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "runtime": "node18", + "status": "BUILT", + "number": 6, + "build_time": "2025-12-09T12:30:13.134919313Z", + "created_at": "2025-12-09T12:30:12.969210112Z", + "updated_at": "2025-12-09T12:30:13.136114182Z" + }, + "deployed_version": { + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "dependencies": [], + "id": "0add2116-19c1-4f2d-b66a-3592d7d38559", + "deployed": true, + "number": 6, + "built_at": "2025-12-09T12:30:13.134919313Z", + "secrets": [], + "status": "built", + "created_at": "2025-12-09T12:30:12.969210112Z", + "updated_at": "2025-12-09T12:30:13.136114182Z", + "runtime": "node18", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ] + }, + "all_changes_deployed": true + }, + { + "id": "50d86033-6bc2-4ceb-8991-d14c85d2e304", + "name": "Custom Phone Provider", + "supported_triggers": [ + { + "id": "custom-phone-provider", + "version": "v1" + } + ], + "created_at": "2025-12-09T12:23:14.388072786Z", + "updated_at": "2025-12-09T12:30:12.235258402Z", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "dependencies": [], + "runtime": "node22", + "status": "built", + "secrets": [], + "current_version": { + "id": "23bfff1b-d5bb-4f29-bcd5-d5a8779a6843", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "runtime": "node22", + "status": "BUILT", + "number": 3, + "build_time": "2025-12-09T12:30:13.066221969Z", + "created_at": "2025-12-09T12:30:12.977011820Z", + "updated_at": "2025-12-09T12:30:13.067900742Z" + }, + "deployed_version": { + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "dependencies": [], + "id": "23bfff1b-d5bb-4f29-bcd5-d5a8779a6843", + "deployed": true, + "number": 3, + "built_at": "2025-12-09T12:30:13.066221969Z", + "secrets": [], + "status": "built", + "created_at": "2025-12-09T12:30:12.977011820Z", + "updated_at": "2025-12-09T12:30:13.067900742Z", + "runtime": "node22", + "supported_triggers": [ + { + "id": "custom-phone-provider", + "version": "v1" + } + ] + }, + "all_changes_deployed": true + } + ], + "total": 2, "per_page": 100 }, "rawHeaders": [], @@ -2210,8 +2654,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/actions/actions", + "method": "PATCH", + "path": "/api/v2/actions/actions/4273221d-f20e-44e6-aa9d-d45702782e4e", "body": { "name": "My Custom Action", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", @@ -2225,7 +2669,7 @@ } ] }, - "status": 201, + "status": 200, "response": { "id": "4273221d-f20e-44e6-aa9d-d45702782e4e", "name": "My Custom Action", @@ -2236,13 +2680,42 @@ } ], "created_at": "2025-12-05T14:18:53.100690661Z", - "updated_at": "2025-12-05T14:18:53.114050616Z", + "updated_at": "2025-12-09T12:31:15.977676526Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "pending", "secrets": [], - "all_changes_deployed": false + "current_version": { + "id": "0add2116-19c1-4f2d-b66a-3592d7d38559", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "runtime": "node18", + "status": "BUILT", + "number": 6, + "build_time": "2025-12-09T12:30:13.134919313Z", + "created_at": "2025-12-09T12:30:12.969210112Z", + "updated_at": "2025-12-09T12:30:13.136114182Z" + }, + "deployed_version": { + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "dependencies": [], + "id": "0add2116-19c1-4f2d-b66a-3592d7d38559", + "deployed": true, + "number": 6, + "built_at": "2025-12-09T12:30:13.134919313Z", + "secrets": [], + "status": "built", + "created_at": "2025-12-09T12:30:12.969210112Z", + "updated_at": "2025-12-09T12:30:13.136114182Z", + "runtime": "node18", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ] + }, + "all_changes_deployed": true }, "rawHeaders": [], "responseIsBinary": false @@ -2265,16 +2738,92 @@ } ], "created_at": "2025-12-05T14:18:53.100690661Z", - "updated_at": "2025-12-05T14:18:53.114050616Z", + "updated_at": "2025-12-09T12:31:15.977676526Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "built", "secrets": [], - "all_changes_deployed": false + "current_version": { + "id": "0add2116-19c1-4f2d-b66a-3592d7d38559", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "runtime": "node18", + "status": "BUILT", + "number": 6, + "build_time": "2025-12-09T12:30:13.134919313Z", + "created_at": "2025-12-09T12:30:12.969210112Z", + "updated_at": "2025-12-09T12:30:13.136114182Z" + }, + "deployed_version": { + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "dependencies": [], + "id": "0add2116-19c1-4f2d-b66a-3592d7d38559", + "deployed": true, + "number": 6, + "built_at": "2025-12-09T12:30:13.134919313Z", + "secrets": [], + "status": "built", + "created_at": "2025-12-09T12:30:12.969210112Z", + "updated_at": "2025-12-09T12:30:13.136114182Z", + "runtime": "node18", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ] + }, + "all_changes_deployed": true + }, + { + "id": "50d86033-6bc2-4ceb-8991-d14c85d2e304", + "name": "Custom Phone Provider", + "supported_triggers": [ + { + "id": "custom-phone-provider", + "version": "v1" + } + ], + "created_at": "2025-12-09T12:23:14.388072786Z", + "updated_at": "2025-12-09T12:30:12.235258402Z", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "dependencies": [], + "runtime": "node22", + "status": "built", + "secrets": [], + "current_version": { + "id": "23bfff1b-d5bb-4f29-bcd5-d5a8779a6843", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "runtime": "node22", + "status": "BUILT", + "number": 3, + "build_time": "2025-12-09T12:30:13.066221969Z", + "created_at": "2025-12-09T12:30:12.977011820Z", + "updated_at": "2025-12-09T12:30:13.067900742Z" + }, + "deployed_version": { + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "dependencies": [], + "id": "23bfff1b-d5bb-4f29-bcd5-d5a8779a6843", + "deployed": true, + "number": 3, + "built_at": "2025-12-09T12:30:13.066221969Z", + "secrets": [], + "status": "built", + "created_at": "2025-12-09T12:30:12.977011820Z", + "updated_at": "2025-12-09T12:30:13.067900742Z", + "runtime": "node22", + "supported_triggers": [ + { + "id": "custom-phone-provider", + "version": "v1" + } + ] + }, + "all_changes_deployed": true } ], - "total": 1, + "total": 2, "per_page": 100 }, "rawHeaders": [], @@ -2289,13 +2838,13 @@ "response": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "6a213299-32ce-486f-addb-5864d95ac3d9", + "id": "a20b7a92-0d6e-4926-9226-fb83db144dae", "deployed": false, - "number": 1, + "number": 7, "secrets": [], "status": "built", - "created_at": "2025-12-05T14:18:53.780088164Z", - "updated_at": "2025-12-05T14:18:53.780088164Z", + "created_at": "2025-12-09T12:31:16.719266241Z", + "updated_at": "2025-12-09T12:31:16.719266241Z", "runtime": "node18", "supported_triggers": [ { @@ -2313,7 +2862,7 @@ } ], "created_at": "2025-12-05T14:18:53.100690661Z", - "updated_at": "2025-12-05T14:18:53.100690661Z", + "updated_at": "2025-12-09T12:31:15.968509992Z", "all_changes_deployed": false } }, @@ -2323,45 +2872,27 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/attack-protection/suspicious-ip-throttling", + "path": "/api/v2/attack-protection/brute-force-protection", "body": { "enabled": true, "shields": [ - "admin_notification" - ], - "allowlist": [ - "127.0.0.1" + "block", + "user_notification" ], - "stage": { - "pre-login": { - "max_attempts": 66, - "rate": 864000 - }, - "pre-user-registration": { - "max_attempts": 66, - "rate": 1200 - } - } + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 66 }, "status": 200, "response": { "enabled": true, "shields": [ - "admin_notification" - ], - "allowlist": [ - "127.0.0.1" + "block", + "user_notification" ], - "stage": { - "pre-login": { - "max_attempts": 66, - "rate": 864000 - }, - "pre-user-registration": { - "max_attempts": 66, - "rate": 1200 - } - } + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 66 }, "rawHeaders": [], "responseIsBinary": false @@ -2397,27 +2928,45 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/attack-protection/brute-force-protection", + "path": "/api/v2/attack-protection/suspicious-ip-throttling", "body": { "enabled": true, "shields": [ - "block", - "user_notification" + "admin_notification" ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 66 + "allowlist": [ + "127.0.0.1" + ], + "stage": { + "pre-login": { + "max_attempts": 66, + "rate": 864000 + }, + "pre-user-registration": { + "max_attempts": 66, + "rate": 1200 + } + } }, "status": 200, "response": { "enabled": true, "shields": [ - "block", - "user_notification" + "admin_notification" ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 66 + "allowlist": [ + "127.0.0.1" + ], + "stage": { + "pre-login": { + "max_attempts": 66, + "rate": 864000 + }, + "pre-user-registration": { + "max_attempts": 66, + "rate": 1200 + } + } }, "rawHeaders": [], "responseIsBinary": false @@ -2449,7 +2998,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-05T14:17:03.449Z", + "updated_at": "2025-12-09T12:30:14.491Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] @@ -2494,7 +3043,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-05T14:18:54.912Z", + "updated_at": "2025-12-09T12:31:17.804Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" }, "rawHeaders": [], @@ -2558,9 +3107,9 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/user-attribute-profiles/uap_1csDj3szFsgxGS1oTZTdFm", + "path": "/api/v2/user-attribute-profiles/uap_1csDj3sAVu6n5eTzLw6XZg", "body": { - "name": "test-user-attribute-profile-2", + "name": "test-user-attribute-profile", "user_attributes": { "email": { "description": "Email of the User", @@ -2576,8 +3125,8 @@ }, "status": 200, "response": { - "id": "uap_1csDj3szFsgxGS1oTZTdFm", - "name": "test-user-attribute-profile-2", + "id": "uap_1csDj3sAVu6n5eTzLw6XZg", + "name": "test-user-attribute-profile", "user_id": { "oidc_mapping": "sub", "saml_mapping": [ @@ -2602,9 +3151,9 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/user-attribute-profiles/uap_1csDj3sAVu6n5eTzLw6XZg", + "path": "/api/v2/user-attribute-profiles/uap_1csDj3szFsgxGS1oTZTdFm", "body": { - "name": "test-user-attribute-profile", + "name": "test-user-attribute-profile-2", "user_attributes": { "email": { "description": "Email of the User", @@ -2620,8 +3169,8 @@ }, "status": 200, "response": { - "id": "uap_1csDj3sAVu6n5eTzLw6XZg", - "name": "test-user-attribute-profile", + "id": "uap_1csDj3szFsgxGS1oTZTdFm", + "name": "test-user-attribute-profile-2", "user_id": { "oidc_mapping": "sub", "saml_mapping": [ @@ -3154,23 +3703,91 @@ "subject": "deprecated" } ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?take=50&strategy=auth0", - "body": "", - "status": 200, - "response": { - "connections": [ + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections?take=50&strategy=auth0", + "body": "", + "status": 200, + "response": { + "connections": [ + { + "id": "con_bBSD5AQUW0Q5aLuE", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "import_mode": false, + "customScripts": { + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "password_history": { + "size": 5, + "enable": false + }, + "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true + }, + "strategy": "auth0", + "name": "boo-baz-db-connection-test", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "boo-baz-db-connection-test" + ], + "enabled_clients": [ + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + ] + }, { "id": "con_CfDqv7jPXpFqETeK", "options": { @@ -3226,6 +3843,74 @@ "status": 200, "response": { "connections": [ + { + "id": "con_bBSD5AQUW0Q5aLuE", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "import_mode": false, + "customScripts": { + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "password_history": { + "size": 5, + "enable": false + }, + "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true + }, + "strategy": "auth0", + "name": "boo-baz-db-connection-test", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "boo-baz-db-connection-test" + ], + "enabled_clients": [ + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + ] + }, { "id": "con_CfDqv7jPXpFqETeK", "options": { @@ -3273,6 +3958,25 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients?take=50", + "body": "", + "status": 200, + "response": { + "clients": [ + { + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + }, + { + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -3292,6 +3996,25 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients?take=50", + "body": "", + "status": 200, + "response": { + "clients": [ + { + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + }, + { + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -3313,11 +4036,86 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/connections", - "body": { - "name": "boo-baz-db-connection-test", + "method": "GET", + "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE", + "body": "", + "status": 200, + "response": { + "id": "con_bBSD5AQUW0Q5aLuE", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "import_mode": false, + "customScripts": { + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "password_history": { + "size": 5, + "enable": false + }, + "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true + }, "strategy": "auth0", + "name": "boo-baz-db-connection-test", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "enabled_clients": [ + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + ], + "realms": [ + "boo-baz-db-connection-test" + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE", + "body": { "enabled_clients": [ "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" @@ -3339,6 +4137,11 @@ }, "disable_signup": false, "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, "password_history": { "size": 5, "enable": false @@ -3349,6 +4152,15 @@ "enable": true, "dictionary": [] }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, "brute_force_protection": true, "password_no_personal_info": { "enable": true @@ -3362,7 +4174,7 @@ "boo-baz-db-connection-test" ] }, - "status": 201, + "status": 200, "response": { "id": "con_bBSD5AQUW0Q5aLuE", "options": { @@ -3370,17 +4182,22 @@ "active": true, "return_enroll_settings": true }, - "passwordPolicy": "low", "import_mode": false, "customScripts": { - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" }, "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, "password_history": { "size": 5, "enable": false @@ -3391,6 +4208,15 @@ "enable": true, "dictionary": [] }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, "brute_force_protection": true, "password_no_personal_info": { "enable": true @@ -3398,21 +4224,7 @@ "password_complexity_options": { "min_length": 8 }, - "enabledDatabaseCustomization": true, - "authentication_methods": { - "password": { - "enabled": true, - "api_behavior": "required" - }, - "passkey": { - "enabled": false - } - }, - "passkey_options": { - "challenge_ui": "both", - "progressive_enrollment_enabled": true, - "local_enrollment_enabled": true - } + "enabledDatabaseCustomization": true }, "strategy": "auth0", "name": "boo-baz-db-connection-test", @@ -3424,8 +4236,8 @@ "active": false }, "enabled_clients": [ - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" ], "realms": [ "boo-baz-db-connection-test" @@ -3434,87 +4246,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?take=1&name=boo-baz-db-connection-test&include_fields=true", - "body": "", - "status": 200, - "response": { - "connections": [ - { - "id": "con_bBSD5AQUW0Q5aLuE", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true - }, - "strategy": "auth0", - "name": "boo-baz-db-connection-test", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "boo-baz-db-connection-test" - ], - "enabled_clients": [ - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -4125,9 +4856,36 @@ "realms": [ "boo-baz-db-connection-test" ], + "enabled_clients": [ + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + ] + }, + { + "id": "con_yGZ6rzfkdR6mMBoE", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + }, + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "google-oauth2" + ], "enabled_clients": [ "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" ] }, { @@ -4248,9 +5006,36 @@ "realms": [ "boo-baz-db-connection-test" ], + "enabled_clients": [ + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + ] + }, + { + "id": "con_yGZ6rzfkdR6mMBoE", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + }, + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "google-oauth2" + ], "enabled_clients": [ "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" ] }, { @@ -4302,11 +5087,47 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/connections", + "method": "GET", + "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients?take=50", + "body": "", + "status": 200, + "response": { + "clients": [ + { + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + }, + { + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients?take=50", + "body": "", + "status": 200, + "response": { + "clients": [ + { + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + }, + { + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE", "body": { - "name": "google-oauth2", - "strategy": "google-oauth2", "enabled_clients": [ "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" @@ -4321,7 +5142,7 @@ "profile": true } }, - "status": 201, + "status": 200, "response": { "id": "con_yGZ6rzfkdR6mMBoE", "options": { @@ -4342,8 +5163,8 @@ "active": false }, "enabled_clients": [ - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" + "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" ], "realms": [ "google-oauth2" @@ -4352,46 +5173,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?take=1&name=google-oauth2&include_fields=true", - "body": "", - "status": 200, - "response": { - "connections": [ - { - "id": "con_yGZ6rzfkdR6mMBoE", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "google-oauth2" - ], - "enabled_clients": [ - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -4901,8 +5682,57 @@ "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "sso_disabled": false, - "cross_origin_authentication": false, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": true, + "callbacks": [], + "is_first_party": true, + "name": "All Applications", + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" + ], + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, "signing_keys": [ { "cert": "[REDACTED]", @@ -4910,72 +5740,299 @@ "subject": "deprecated" } ], - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "callback_url_template": false, + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" + "custom_login_page_on": true + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/client-grants?take=50", + "body": "", + "status": 200, + "response": { + "client_grants": [ + { + "id": "cgr_JYmQHwQEXGDCc53P", + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ], + "subject_type": "client" + }, + { + "id": "cgr_ReJeayDzA8FTvFPY", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" ], - "custom_login_page_on": true + "subject_type": "client" }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], - "is_first_party": true, - "name": "All Applications", - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/client-grants?take=50", - "body": "", - "status": 200, - "response": { - "client_grants": [ { "id": "cgr_pbwejzhwoujrsNE8", "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", @@ -5218,11 +6275,9 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/client-grants", + "method": "PATCH", + "path": "/api/v2/client-grants/cgr_ReJeayDzA8FTvFPY", "body": { - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", "create:client_grants", @@ -5356,7 +6411,7 @@ "delete:organization_invitations" ] }, - "status": 201, + "status": 200, "response": { "id": "cgr_ReJeayDzA8FTvFPY", "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", @@ -5500,11 +6555,9 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/client-grants", + "method": "PATCH", + "path": "/api/v2/client-grants/cgr_JYmQHwQEXGDCc53P", "body": { - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", "create:client_grants", @@ -5638,7 +6691,7 @@ "delete:organization_invitations" ] }, - "status": 201, + "status": 200, "response": { "id": "cgr_JYmQHwQEXGDCc53P", "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", @@ -5783,11 +6836,152 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "roles": [ + { + "id": "rol_EH7ASyHIXKqKPc4X", + "name": "Admin", + "description": "Can read and write things" + }, + { + "id": "rol_WHMW5tI8GYuTShEL", + "name": "Reader", + "description": "Can only read things" + }, + { + "id": "rol_dkoJYFPEbm4fBQUa", + "name": "read_only", + "description": "Read Only" + }, + { + "id": "rol_6mNIPtAC2wBSBD7S", + "name": "read_osnly", + "description": "Readz Only" + } + ], + "start": 0, + "limit": 100, + "total": 4 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { - "roles": [], + "permissions": [], "start": 0, "limit": 100, "total": 0 @@ -5797,8 +6991,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/roles", + "method": "PATCH", + "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X", "body": { "name": "Admin", "description": "Can read and write things" @@ -5814,8 +7008,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/roles", + "method": "PATCH", + "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL", "body": { "name": "Reader", "description": "Can only read things" @@ -5831,8 +7025,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/roles", + "method": "PATCH", + "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa", "body": { "name": "read_only", "description": "Read Only" @@ -5848,8 +7042,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/roles", + "method": "PATCH", + "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S", "body": { "name": "read_osnly", "description": "Readz Only" @@ -5892,7 +7086,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-05T14:17:19.637Z", + "updated_at": "2025-12-09T12:30:29.308Z", "branding": { "colors": { "primary": "#19aecc" @@ -5968,7 +7162,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-05T14:19:10.944Z", + "updated_at": "2025-12-09T12:31:31.782Z", "branding": { "colors": { "primary": "#19aecc" @@ -5978,34 +7172,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/email-templates/welcome_email", - "body": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "enabled": false, - "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600 - }, - "status": 200, - "response": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -6034,12 +7200,28 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations?take=50", - "body": "", + "method": "PATCH", + "path": "/api/v2/email-templates/welcome_email", + "body": { + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "enabled": false, + "from": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", + "syntax": "liquid", + "urlLifetimeInSeconds": 3600 + }, "status": 200, "response": { - "organizations": [] + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "from": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", + "syntax": "liquid", + "urlLifetimeInSeconds": 3600, + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -6564,6 +7746,203 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations?take=50", + "body": "", + "status": 200, + "response": { + "organizations": [ + { + "id": "org_fIRF1it8cTOyf2yS", + "name": "org1", + "display_name": "Organization", + "branding": { + "colors": { + "page_background": "#fff5f5", + "primary": "#57ddff" + } + } + }, + { + "id": "org_hWOYWXtnxIpJ0MX3", + "name": "org2", + "display_name": "Organization2" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/enabled_connections?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "enabled_connections": [], + "start": 0, + "limit": 0, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/enabled_connections?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "enabled_connections": [], + "start": 0, + "limit": 0, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/client-grants?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "client_grants": [], + "start": 0, + "limit": 50, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/client-grants?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "client_grants": [], + "start": 0, + "limit": 50, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/discovery-domains?take=50", + "body": "", + "status": 200, + "response": { + "domains": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/discovery-domains?take=50", + "body": "", + "status": 200, + "response": { + "domains": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/enabled_connections?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "enabled_connections": [], + "start": 0, + "limit": 0, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/enabled_connections?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "enabled_connections": [], + "start": 0, + "limit": 0, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/client-grants?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "client_grants": [], + "start": 0, + "limit": 50, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/client-grants?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "client_grants": [], + "start": 0, + "limit": 50, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/discovery-domains?take=50", + "body": "", + "status": 200, + "response": { + "domains": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/discovery-domains?take=50", + "body": "", + "status": 200, + "response": { + "domains": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -6636,8 +8015,8 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" ] }, { @@ -7760,10 +9139,25 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/organizations", + "method": "PATCH", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3", + "body": { + "display_name": "Organization2" + }, + "status": 200, + "response": { + "id": "org_hWOYWXtnxIpJ0MX3", + "display_name": "Organization2", + "name": "org2" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS", "body": { - "name": "org1", "branding": { "colors": { "page_background": "#fff5f5", @@ -7772,34 +9166,17 @@ }, "display_name": "Organization" }, - "status": 201, + "status": 200, "response": { - "id": "org_fIRF1it8cTOyf2yS", - "display_name": "Organization", - "name": "org1", "branding": { "colors": { "page_background": "#fff5f5", "primary": "#57ddff" } - } - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/organizations", - "body": { - "name": "org2", - "display_name": "Organization2" - }, - "status": 201, - "response": { - "id": "org_hWOYWXtnxIpJ0MX3", - "display_name": "Organization2", - "name": "org2" + }, + "id": "org_fIRF1it8cTOyf2yS", + "display_name": "Organization", + "name": "org1" }, "rawHeaders": [], "responseIsBinary": false @@ -7810,21 +9187,82 @@ "path": "/api/v2/log-streams", "body": "", "status": 200, - "response": [], + "response": [ + { + "id": "lst_0000000000025431", + "name": "Suspended DD Log Stream", + "type": "datadog", + "status": "active", + "sink": { + "datadogApiKey": "##LOGSTREAMS_DATADOG_SECRET##", + "datadogRegion": "us" + }, + "isPriority": false + }, + { + "id": "lst_0000000000025432", + "name": "Amazon EventBridge", + "type": "eventbridge", + "status": "active", + "sink": { + "awsAccountId": "123456789012", + "awsRegion": "us-east-2", + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-84b807b2-8a87-4d4b-87eb-ff1b56370b3a/auth0.logs" + }, + "filters": [ + { + "type": "category", + "name": "auth.login.success" + }, + { + "type": "category", + "name": "auth.login.notification" + }, + { + "type": "category", + "name": "auth.login.fail" + }, + { + "type": "category", + "name": "auth.signup.success" + }, + { + "type": "category", + "name": "auth.logout.success" + }, + { + "type": "category", + "name": "auth.logout.fail" + }, + { + "type": "category", + "name": "auth.silent_auth.fail" + }, + { + "type": "category", + "name": "auth.silent_auth.success" + }, + { + "type": "category", + "name": "auth.token_exchange.fail" + } + ], + "isPriority": false + } + ], "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/log-streams", + "method": "PATCH", + "path": "/api/v2/log-streams/lst_0000000000025431", "body": { "name": "Suspended DD Log Stream", "sink": { "datadogApiKey": "some-sensitive-api-key", "datadogRegion": "us" - }, - "type": "datadog" + } }, "status": 200, "response": { @@ -7843,8 +9281,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/log-streams", + "method": "PATCH", + "path": "/api/v2/log-streams/lst_0000000000025432", "body": { "name": "Amazon EventBridge", "filters": [ @@ -7885,11 +9323,7 @@ "name": "auth.token_exchange.fail" } ], - "sink": { - "awsAccountId": "123456789012", - "awsRegion": "us-east-2" - }, - "type": "eventbridge" + "status": "active" }, "status": 200, "response": { @@ -7963,14 +9397,22 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, - "total": 0, - "flows": [] + "total": 1, + "forms": [ + { + "id": "ap_6JUSCU7qq1CravnoU6d6jr", + "name": "Blank-form", + "flow_count": 0, + "created_at": "2024-11-26T11:58:18.187Z", + "updated_at": "2025-12-09T12:30:43.698Z" + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -7978,22 +9420,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, - "total": 1, - "forms": [ - { - "id": "ap_6JUSCU7qq1CravnoU6d6jr", - "name": "Blank-form", - "flow_count": 0, - "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-05T14:17:26.192Z" - } - ] + "total": 0, + "flows": [] }, "rawHeaders": [], "responseIsBinary": false @@ -8062,7 +9496,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-05T14:17:26.192Z" + "updated_at": "2025-12-09T12:30:43.698Z" }, "rawHeaders": [], "responseIsBinary": false @@ -8187,7 +9621,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-05T14:19:17.478Z" + "updated_at": "2025-12-09T12:31:42.735Z" }, "rawHeaders": [], "responseIsBinary": false @@ -9898,7 +11332,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/otp", "body": { "enabled": false }, @@ -9912,7 +11346,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/otp", + "path": "/api/v2/guardian/factors/push-notification", "body": { "enabled": false }, @@ -9926,7 +11360,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/push-notification", + "path": "/api/v2/guardian/factors/webauthn-platform", "body": { "enabled": false }, @@ -9940,7 +11374,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-platform", + "path": "/api/v2/guardian/factors/recovery-code", "body": { "enabled": false }, @@ -9968,7 +11402,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/recovery-code", + "path": "/api/v2/guardian/factors/sms", "body": { "enabled": false }, @@ -10050,33 +11484,33 @@ } ], "created_at": "2025-12-05T14:18:53.100690661Z", - "updated_at": "2025-12-05T14:18:53.114050616Z", + "updated_at": "2025-12-09T12:31:15.977676526Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "built", "secrets": [], "current_version": { - "id": "6a213299-32ce-486f-addb-5864d95ac3d9", + "id": "a20b7a92-0d6e-4926-9226-fb83db144dae", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node18", "status": "BUILT", - "number": 1, - "build_time": "2025-12-05T14:18:53.859494195Z", - "created_at": "2025-12-05T14:18:53.780088164Z", - "updated_at": "2025-12-05T14:18:53.860524296Z" + "number": 7, + "build_time": "2025-12-09T12:31:16.794944131Z", + "created_at": "2025-12-09T12:31:16.719266241Z", + "updated_at": "2025-12-09T12:31:16.796068316Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "6a213299-32ce-486f-addb-5864d95ac3d9", + "id": "a20b7a92-0d6e-4926-9226-fb83db144dae", "deployed": true, - "number": 1, - "built_at": "2025-12-05T14:18:53.859494195Z", + "number": 7, + "built_at": "2025-12-09T12:31:16.794944131Z", "secrets": [], "status": "built", - "created_at": "2025-12-05T14:18:53.780088164Z", - "updated_at": "2025-12-05T14:18:53.860524296Z", + "created_at": "2025-12-09T12:31:16.719266241Z", + "updated_at": "2025-12-09T12:31:16.796068316Z", "runtime": "node18", "supported_triggers": [ { @@ -10086,9 +11520,56 @@ ] }, "all_changes_deployed": true + }, + { + "id": "50d86033-6bc2-4ceb-8991-d14c85d2e304", + "name": "Custom Phone Provider", + "supported_triggers": [ + { + "id": "custom-phone-provider", + "version": "v1" + } + ], + "created_at": "2025-12-09T12:23:14.388072786Z", + "updated_at": "2025-12-09T12:30:12.235258402Z", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "dependencies": [], + "runtime": "node22", + "status": "built", + "secrets": [], + "current_version": { + "id": "23bfff1b-d5bb-4f29-bcd5-d5a8779a6843", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "runtime": "node22", + "status": "BUILT", + "number": 3, + "build_time": "2025-12-09T12:30:13.066221969Z", + "created_at": "2025-12-09T12:30:12.977011820Z", + "updated_at": "2025-12-09T12:30:13.067900742Z" + }, + "deployed_version": { + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "dependencies": [], + "id": "23bfff1b-d5bb-4f29-bcd5-d5a8779a6843", + "deployed": true, + "number": 3, + "built_at": "2025-12-09T12:30:13.066221969Z", + "secrets": [], + "status": "built", + "created_at": "2025-12-09T12:30:12.977011820Z", + "updated_at": "2025-12-09T12:30:13.067900742Z", + "runtime": "node22", + "supported_triggers": [ + { + "id": "custom-phone-provider", + "version": "v1" + } + ] + }, + "all_changes_deployed": true } ], - "total": 1, + "total": 2, "per_page": 100 }, "rawHeaders": [], @@ -10112,33 +11593,33 @@ } ], "created_at": "2025-12-05T14:18:53.100690661Z", - "updated_at": "2025-12-05T14:18:53.114050616Z", + "updated_at": "2025-12-09T12:31:15.977676526Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "built", "secrets": [], "current_version": { - "id": "6a213299-32ce-486f-addb-5864d95ac3d9", + "id": "a20b7a92-0d6e-4926-9226-fb83db144dae", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node18", "status": "BUILT", - "number": 1, - "build_time": "2025-12-05T14:18:53.859494195Z", - "created_at": "2025-12-05T14:18:53.780088164Z", - "updated_at": "2025-12-05T14:18:53.860524296Z" + "number": 7, + "build_time": "2025-12-09T12:31:16.794944131Z", + "created_at": "2025-12-09T12:31:16.719266241Z", + "updated_at": "2025-12-09T12:31:16.796068316Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "6a213299-32ce-486f-addb-5864d95ac3d9", + "id": "a20b7a92-0d6e-4926-9226-fb83db144dae", "deployed": true, - "number": 1, - "built_at": "2025-12-05T14:18:53.859494195Z", + "number": 7, + "built_at": "2025-12-09T12:31:16.794944131Z", "secrets": [], "status": "built", - "created_at": "2025-12-05T14:18:53.780088164Z", - "updated_at": "2025-12-05T14:18:53.860524296Z", + "created_at": "2025-12-09T12:31:16.719266241Z", + "updated_at": "2025-12-09T12:31:16.796068316Z", "runtime": "node18", "supported_triggers": [ { @@ -10148,9 +11629,56 @@ ] }, "all_changes_deployed": true + }, + { + "id": "50d86033-6bc2-4ceb-8991-d14c85d2e304", + "name": "Custom Phone Provider", + "supported_triggers": [ + { + "id": "custom-phone-provider", + "version": "v1" + } + ], + "created_at": "2025-12-09T12:23:14.388072786Z", + "updated_at": "2025-12-09T12:30:12.235258402Z", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "dependencies": [], + "runtime": "node22", + "status": "built", + "secrets": [], + "current_version": { + "id": "23bfff1b-d5bb-4f29-bcd5-d5a8779a6843", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "runtime": "node22", + "status": "BUILT", + "number": 3, + "build_time": "2025-12-09T12:30:13.066221969Z", + "created_at": "2025-12-09T12:30:12.977011820Z", + "updated_at": "2025-12-09T12:30:13.067900742Z" + }, + "deployed_version": { + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "dependencies": [], + "id": "23bfff1b-d5bb-4f29-bcd5-d5a8779a6843", + "deployed": true, + "number": 3, + "built_at": "2025-12-09T12:30:13.066221969Z", + "secrets": [], + "status": "built", + "created_at": "2025-12-09T12:30:12.977011820Z", + "updated_at": "2025-12-09T12:30:13.067900742Z", + "runtime": "node22", + "supported_triggers": [ + { + "id": "custom-phone-provider", + "version": "v1" + } + ] + }, + "all_changes_deployed": true } ], - "total": 1, + "total": 2, "per_page": 100 }, "rawHeaders": [], @@ -10159,43 +11687,27 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/attack-protection/suspicious-ip-throttling", + "path": "/api/v2/attack-protection/brute-force-protection", "body": { "enabled": true, "shields": [ - "admin_notification", - "block" + "block", + "user_notification" ], + "mode": "count_per_identifier_and_ip", "allowlist": [], - "stage": { - "pre-login": { - "max_attempts": 100, - "rate": 864000 - }, - "pre-user-registration": { - "max_attempts": 50, - "rate": 1200 - } - } + "max_attempts": 10 }, "status": 200, "response": { "enabled": true, "shields": [ - "admin_notification", - "block" + "block", + "user_notification" ], + "mode": "count_per_identifier_and_ip", "allowlist": [], - "stage": { - "pre-login": { - "max_attempts": 100, - "rate": 864000 - }, - "pre-user-registration": { - "max_attempts": 50, - "rate": 1200 - } - } + "max_attempts": 10 }, "rawHeaders": [], "responseIsBinary": false @@ -10231,27 +11743,43 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/attack-protection/brute-force-protection", + "path": "/api/v2/attack-protection/suspicious-ip-throttling", "body": { "enabled": true, "shields": [ - "block", - "user_notification" + "admin_notification", + "block" ], - "mode": "count_per_identifier_and_ip", "allowlist": [], - "max_attempts": 10 + "stage": { + "pre-login": { + "max_attempts": 100, + "rate": 864000 + }, + "pre-user-registration": { + "max_attempts": 50, + "rate": 1200 + } + } }, "status": 200, "response": { "enabled": true, "shields": [ - "block", - "user_notification" + "admin_notification", + "block" ], - "mode": "count_per_identifier_and_ip", "allowlist": [], - "max_attempts": 10 + "stage": { + "pre-login": { + "max_attempts": 100, + "rate": 864000 + }, + "pre-user-registration": { + "max_attempts": 50, + "rate": 1200 + } + } }, "rawHeaders": [], "responseIsBinary": false @@ -10848,8 +12376,8 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" ] }, { @@ -10971,8 +12499,8 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" ] }, { @@ -11843,8 +13371,8 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" ] }, { @@ -11912,8 +13440,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -11993,8 +13521,8 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" ] }, { @@ -12062,8 +13590,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -14113,8 +15641,8 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" ] }, { @@ -14182,8 +15710,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -17054,8 +18582,8 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" ] }, { @@ -17096,8 +18624,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -17253,8 +18781,8 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" ] }, { @@ -17322,8 +18850,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -17492,18 +19020,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/welcome_email", + "path": "/api/v2/email-templates/user_invitation", "body": "", - "status": 200, + "status": 404, "response": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" }, "rawHeaders": [], "responseIsBinary": false @@ -17511,7 +19035,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/mfa_oob_code", + "path": "/api/v2/email-templates/password_reset", "body": "", "status": 404, "response": { @@ -17526,7 +19050,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/password_reset", + "path": "/api/v2/email-templates/async_approval", "body": "", "status": 404, "response": { @@ -17541,7 +19065,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/stolen_credentials", + "path": "/api/v2/email-templates/reset_email", "body": "", "status": 404, "response": { @@ -17556,7 +19080,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/blocked_account", + "path": "/api/v2/email-templates/enrollment_email", "body": "", "status": 404, "response": { @@ -17571,14 +19095,18 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/async_approval", + "path": "/api/v2/email-templates/welcome_email", "body": "", - "status": 404, + "status": 200, "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "from": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", + "syntax": "liquid", + "urlLifetimeInSeconds": 3600, + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -17586,7 +19114,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/enrollment_email", + "path": "/api/v2/email-templates/stolen_credentials", "body": "", "status": 404, "response": { @@ -17601,7 +19129,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/user_invitation", + "path": "/api/v2/email-templates/mfa_oob_code", "body": "", "status": 404, "response": { @@ -17631,7 +19159,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/change_password", + "path": "/api/v2/email-templates/blocked_account", "body": "", "status": 404, "response": { @@ -17646,7 +19174,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email", + "path": "/api/v2/email-templates/change_password", "body": "", "status": 404, "response": { @@ -18489,7 +20017,101 @@ "body": "", "status": 200, "response": { - "providers": [] + "providers": [ + { + "id": "pro_mY3L5BP6iVUUzpv22opofm", + "tenant": "auth0-deploy-cli-e2e", + "name": "custom", + "channel": "phone", + "disabled": false, + "configuration": { + "delivery_methods": [ + "text" + ] + }, + "credentials": null, + "created_at": "2025-12-09T12:24:00.604Z", + "updated_at": "2025-12-09T12:30:28.218Z" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/branding/phone/templates", + "body": "", + "status": 200, + "response": { + "templates": [ + { + "id": "tem_dL83uTmWn8moGzm8UgAk4Q", + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "blocked_account", + "disabled": false, + "created_at": "2025-12-09T12:22:47.683Z", + "updated_at": "2025-12-09T12:30:30.019Z", + "content": { + "syntax": "liquid", + "body": { + "text": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message.", + "voice": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message." + }, + "from": "0032232323" + } + }, + { + "id": "tem_xqbUSF83fpnRv8r8rqXFDZ", + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "change_password", + "disabled": false, + "created_at": "2025-12-09T12:26:20.243Z", + "updated_at": "2025-12-09T12:30:30.034Z", + "content": { + "syntax": "liquid", + "body": { + "text": "{{ code | escape }} is your password change code for {{ friendly_name | escape }}", + "voice": "Hello. Your password change code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your password change code is {{ pause }} {{ code | escape }}" + } + } + }, + { + "id": "tem_qarYST5TTE5pbMNB5NHZAj", + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "otp_enroll", + "disabled": false, + "created_at": "2025-12-09T12:26:25.327Z", + "updated_at": "2025-12-09T12:30:30.174Z", + "content": { + "syntax": "liquid", + "body": { + "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}. Please enter this code to verify your enrollment.", + "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" + } + } + }, + { + "id": "tem_o4LBTt4NQyX8K4vC9dPafR", + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "otp_verify", + "disabled": false, + "created_at": "2025-12-09T12:26:30.547Z", + "updated_at": "2025-12-09T12:30:30.365Z", + "content": { + "syntax": "liquid", + "body": { + "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}", + "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" + } + } + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -18622,7 +20244,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-email-verification/custom-text/en", + "path": "/api/v2/prompts/signup/custom-text/en", "body": "", "status": 200, "response": {}, @@ -18632,7 +20254,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup/custom-text/en", + "path": "/api/v2/prompts/login-email-verification/custom-text/en", "body": "", "status": 200, "response": {}, @@ -18702,7 +20324,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/custom-form/custom-text/en", + "path": "/api/v2/prompts/consent/custom-text/en", "body": "", "status": 200, "response": {}, @@ -18712,7 +20334,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/consent/custom-text/en", + "path": "/api/v2/prompts/custom-form/custom-text/en", "body": "", "status": 200, "response": {}, @@ -18722,7 +20344,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/customized-consent/custom-text/en", + "path": "/api/v2/prompts/logout/custom-text/en", "body": "", "status": 200, "response": {}, @@ -18732,7 +20354,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/logout/custom-text/en", + "path": "/api/v2/prompts/customized-consent/custom-text/en", "body": "", "status": 200, "response": {}, @@ -18742,7 +20364,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-voice/custom-text/en", + "path": "/api/v2/prompts/mfa-push/custom-text/en", "body": "", "status": 200, "response": {}, @@ -18752,7 +20374,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-push/custom-text/en", + "path": "/api/v2/prompts/mfa-otp/custom-text/en", "body": "", "status": 200, "response": {}, @@ -18762,7 +20384,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-otp/custom-text/en", + "path": "/api/v2/prompts/mfa-voice/custom-text/en", "body": "", "status": 200, "response": {}, @@ -18772,7 +20394,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-webauthn/custom-text/en", + "path": "/api/v2/prompts/mfa-phone/custom-text/en", "body": "", "status": 200, "response": {}, @@ -18782,7 +20404,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-phone/custom-text/en", + "path": "/api/v2/prompts/mfa-webauthn/custom-text/en", "body": "", "status": 200, "response": {}, @@ -18802,7 +20424,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-recovery-code/custom-text/en", + "path": "/api/v2/prompts/mfa-email/custom-text/en", "body": "", "status": 200, "response": {}, @@ -18812,7 +20434,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-email/custom-text/en", + "path": "/api/v2/prompts/mfa-recovery-code/custom-text/en", "body": "", "status": 200, "response": {}, @@ -18882,7 +20504,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/invitation/custom-text/en", + "path": "/api/v2/prompts/common/custom-text/en", "body": "", "status": 200, "response": {}, @@ -18892,7 +20514,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/common/custom-text/en", + "path": "/api/v2/prompts/invitation/custom-text/en", "body": "", "status": 200, "response": {}, @@ -18942,7 +20564,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-password/partials", + "path": "/api/v2/prompts/login-id/partials", "body": "", "status": 200, "response": {}, @@ -18952,7 +20574,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/partials", + "path": "/api/v2/prompts/login-password/partials", "body": "", "status": 200, "response": {}, @@ -18962,7 +20584,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup/partials", + "path": "/api/v2/prompts/login-passwordless/partials", "body": "", "status": 200, "response": {}, @@ -18972,7 +20594,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-passwordless/partials", + "path": "/api/v2/prompts/signup/partials", "body": "", "status": 200, "response": {}, @@ -19017,33 +20639,33 @@ } ], "created_at": "2025-12-05T14:18:53.100690661Z", - "updated_at": "2025-12-05T14:18:53.114050616Z", + "updated_at": "2025-12-09T12:31:15.977676526Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "built", "secrets": [], "current_version": { - "id": "6a213299-32ce-486f-addb-5864d95ac3d9", + "id": "a20b7a92-0d6e-4926-9226-fb83db144dae", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node18", "status": "BUILT", - "number": 1, - "build_time": "2025-12-05T14:18:53.859494195Z", - "created_at": "2025-12-05T14:18:53.780088164Z", - "updated_at": "2025-12-05T14:18:53.860524296Z" + "number": 7, + "build_time": "2025-12-09T12:31:16.794944131Z", + "created_at": "2025-12-09T12:31:16.719266241Z", + "updated_at": "2025-12-09T12:31:16.796068316Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "6a213299-32ce-486f-addb-5864d95ac3d9", + "id": "a20b7a92-0d6e-4926-9226-fb83db144dae", "deployed": true, - "number": 1, - "built_at": "2025-12-05T14:18:53.859494195Z", + "number": 7, + "built_at": "2025-12-09T12:31:16.794944131Z", "secrets": [], "status": "built", - "created_at": "2025-12-05T14:18:53.780088164Z", - "updated_at": "2025-12-05T14:18:53.860524296Z", + "created_at": "2025-12-09T12:31:16.719266241Z", + "updated_at": "2025-12-09T12:31:16.796068316Z", "runtime": "node18", "supported_triggers": [ { @@ -19053,9 +20675,56 @@ ] }, "all_changes_deployed": true + }, + { + "id": "50d86033-6bc2-4ceb-8991-d14c85d2e304", + "name": "Custom Phone Provider", + "supported_triggers": [ + { + "id": "custom-phone-provider", + "version": "v1" + } + ], + "created_at": "2025-12-09T12:23:14.388072786Z", + "updated_at": "2025-12-09T12:30:12.235258402Z", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "dependencies": [], + "runtime": "node22", + "status": "built", + "secrets": [], + "current_version": { + "id": "23bfff1b-d5bb-4f29-bcd5-d5a8779a6843", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "runtime": "node22", + "status": "BUILT", + "number": 3, + "build_time": "2025-12-09T12:30:13.066221969Z", + "created_at": "2025-12-09T12:30:12.977011820Z", + "updated_at": "2025-12-09T12:30:13.067900742Z" + }, + "deployed_version": { + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "dependencies": [], + "id": "23bfff1b-d5bb-4f29-bcd5-d5a8779a6843", + "deployed": true, + "number": 3, + "built_at": "2025-12-09T12:30:13.066221969Z", + "secrets": [], + "status": "built", + "created_at": "2025-12-09T12:30:12.977011820Z", + "updated_at": "2025-12-09T12:30:13.067900742Z", + "runtime": "node22", + "supported_triggers": [ + { + "id": "custom-phone-provider", + "version": "v1" + } + ] + }, + "all_changes_deployed": true } ], - "total": 1, + "total": 2, "per_page": 100 }, "rawHeaders": [], @@ -19074,7 +20743,6 @@ "version": "v3", "status": "CURRENT", "runtimes": [ - "node12", "node18-actions", "node22" ], @@ -19098,6 +20766,17 @@ "binding_policy": "trigger-bound", "compatible_triggers": [] }, + { + "id": "credentials-exchange", + "version": "v1", + "status": "DEPRECATED", + "runtimes": [ + "node12" + ], + "default_runtime": "node12", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, { "id": "credentials-exchange", "version": "v2", @@ -19125,24 +20804,24 @@ }, { "id": "post-user-registration", - "version": "v1", - "status": "DEPRECATED", + "version": "v2", + "status": "CURRENT", "runtimes": [ - "node12" + "node18-actions", + "node22" ], - "default_runtime": "node12", + "default_runtime": "node22", "binding_policy": "trigger-bound", "compatible_triggers": [] }, { - "id": "post-user-registration", - "version": "v2", - "status": "CURRENT", + "id": "post-change-password", + "version": "v1", + "status": "DEPRECATED", "runtimes": [ - "node18-actions", - "node22" + "node12" ], - "default_runtime": "node22", + "default_runtime": "node12", "binding_policy": "trigger-bound", "compatible_triggers": [] }, @@ -19163,7 +20842,6 @@ "version": "v2", "status": "CURRENT", "runtimes": [ - "node12", "node18-actions", "node22" ], @@ -19358,7 +21036,58 @@ "body": "", "status": 200, "response": { - "bindings": [], + "bindings": [ + { + "id": "0c7814f9-5cbb-47bc-a868-cac7b38e7225", + "trigger_id": "custom-phone-provider", + "action": { + "id": "50d86033-6bc2-4ceb-8991-d14c85d2e304", + "name": "Custom Phone Provider", + "supported_triggers": [ + { + "id": "custom-phone-provider", + "version": "v1" + } + ], + "created_at": "2025-12-09T12:23:14.388072786Z", + "updated_at": "2025-12-09T12:30:12.225370374Z", + "current_version": { + "id": "23bfff1b-d5bb-4f29-bcd5-d5a8779a6843", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "runtime": "node22", + "status": "BUILT", + "number": 3, + "build_time": "2025-12-09T12:30:13.066221969Z", + "created_at": "2025-12-09T12:30:12.977011820Z", + "updated_at": "2025-12-09T12:30:13.067900742Z" + }, + "deployed_version": { + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "dependencies": [], + "id": "23bfff1b-d5bb-4f29-bcd5-d5a8779a6843", + "deployed": true, + "number": 3, + "built_at": "2025-12-09T12:30:13.066221969Z", + "secrets": [], + "status": "built", + "created_at": "2025-12-09T12:30:12.977011820Z", + "updated_at": "2025-12-09T12:30:13.067900742Z", + "runtime": "node22", + "supported_triggers": [ + { + "id": "custom-phone-provider", + "version": "v1" + } + ] + }, + "all_changes_deployed": false + }, + "created_at": "2025-12-09T12:30:40.877571889Z", + "updated_at": "2025-12-09T12:30:40.877571889Z", + "display_name": "Custom Phone Provider" + } + ], + "total": 1, "per_page": 50 }, "rawHeaders": [], @@ -20341,14 +22070,22 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, - "total": 0, - "flows": [] + "total": 1, + "forms": [ + { + "id": "ap_6JUSCU7qq1CravnoU6d6jr", + "name": "Blank-form", + "flow_count": 0, + "created_at": "2024-11-26T11:58:18.187Z", + "updated_at": "2025-12-09T12:31:42.735Z" + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -20356,22 +22093,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, - "total": 1, - "forms": [ - { - "id": "ap_6JUSCU7qq1CravnoU6d6jr", - "name": "Blank-form", - "flow_count": 0, - "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-05T14:19:17.478Z" - } - ] + "total": 0, + "flows": [] }, "rawHeaders": [], "responseIsBinary": false @@ -20440,7 +22169,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-05T14:19:17.478Z" + "updated_at": "2025-12-09T12:31:42.735Z" }, "rawHeaders": [], "responseIsBinary": false @@ -20549,7 +22278,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-05T14:19:10.944Z", + "updated_at": "2025-12-09T12:31:31.782Z", "branding": { "colors": { "primary": "#19aecc" @@ -20601,7 +22330,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-05T14:18:54.912Z", + "updated_at": "2025-12-09T12:31:17.804Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] diff --git a/test/e2e/recordings/should-dump-and-deploy-without-throwing-an-error.json b/test/e2e/recordings/should-dump-and-deploy-without-throwing-an-error.json index 4fb57c91d..74fdf9202 100644 --- a/test/e2e/recordings/should-dump-and-deploy-without-throwing-an-error.json +++ b/test/e2e/recordings/should-dump-and-deploy-without-throwing-an-error.json @@ -1668,8 +1668,8 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" ] }, { @@ -1710,8 +1710,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -1867,8 +1867,8 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" ] }, { @@ -1936,8 +1936,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -2070,21 +2070,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/email-templates/verify_email_by_code", - "body": "", - "status": 404, - "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -2106,7 +2091,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/user_invitation", + "path": "/api/v2/email-templates/verify_email_by_code", "body": "", "status": 404, "response": { @@ -2121,7 +2106,22 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/enrollment_email", + "path": "/api/v2/email-templates/stolen_credentials", + "body": "", + "status": 404, + "response": { + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/email-templates/change_password", "body": "", "status": 404, "response": { @@ -2155,7 +2155,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email_by_code", + "path": "/api/v2/email-templates/blocked_account", "body": "", "status": 404, "response": { @@ -2170,7 +2170,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email", + "path": "/api/v2/email-templates/enrollment_email", "body": "", "status": 404, "response": { @@ -2185,7 +2185,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/stolen_credentials", + "path": "/api/v2/email-templates/password_reset", "body": "", "status": 404, "response": { @@ -2200,7 +2200,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/async_approval", + "path": "/api/v2/email-templates/reset_email", "body": "", "status": 404, "response": { @@ -2215,7 +2215,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/blocked_account", + "path": "/api/v2/email-templates/async_approval", "body": "", "status": 404, "response": { @@ -2230,7 +2230,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/password_reset", + "path": "/api/v2/email-templates/mfa_oob_code", "body": "", "status": 404, "response": { @@ -2245,7 +2245,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/mfa_oob_code", + "path": "/api/v2/email-templates/user_invitation", "body": "", "status": 404, "response": { @@ -2260,7 +2260,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/change_password", + "path": "/api/v2/email-templates/reset_email_by_code", "body": "", "status": 404, "response": { @@ -2850,7 +2850,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/guardian/factors/push-notification/providers/sns", + "path": "/api/v2/guardian/factors/sms/providers/twilio", "body": "", "status": 200, "response": {}, @@ -2860,7 +2860,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/guardian/factors/sms/providers/twilio", + "path": "/api/v2/guardian/factors/push-notification/providers/sns", "body": "", "status": 200, "response": {}, @@ -3103,7 +3103,101 @@ "body": "", "status": 200, "response": { - "providers": [] + "providers": [ + { + "id": "pro_mY3L5BP6iVUUzpv22opofm", + "tenant": "auth0-deploy-cli-e2e", + "name": "custom", + "channel": "phone", + "disabled": false, + "configuration": { + "delivery_methods": [ + "text" + ] + }, + "credentials": null, + "created_at": "2025-12-09T12:24:00.604Z", + "updated_at": "2025-12-09T12:26:07.171Z" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/branding/phone/templates", + "body": "", + "status": 200, + "response": { + "templates": [ + { + "id": "tem_dL83uTmWn8moGzm8UgAk4Q", + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "blocked_account", + "disabled": false, + "created_at": "2025-12-09T12:22:47.683Z", + "updated_at": "2025-12-09T12:26:08.914Z", + "content": { + "syntax": "liquid", + "body": { + "text": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message.", + "voice": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message." + }, + "from": "0032232323" + } + }, + { + "id": "tem_xqbUSF83fpnRv8r8rqXFDZ", + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "change_password", + "disabled": false, + "created_at": "2025-12-09T12:26:20.243Z", + "updated_at": "2025-12-09T12:26:20.243Z", + "content": { + "syntax": "liquid", + "body": { + "text": "{{ code | escape }} is your password change code for {{ friendly_name | escape }}", + "voice": "Hello. Your password change code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your password change code is {{ pause }} {{ code | escape }}" + } + } + }, + { + "id": "tem_qarYST5TTE5pbMNB5NHZAj", + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "otp_enroll", + "disabled": false, + "created_at": "2025-12-09T12:26:25.327Z", + "updated_at": "2025-12-09T12:26:25.327Z", + "content": { + "syntax": "liquid", + "body": { + "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}. Please enter this code to verify your enrollment.", + "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" + } + } + }, + { + "id": "tem_o4LBTt4NQyX8K4vC9dPafR", + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "otp_verify", + "disabled": false, + "created_at": "2025-12-09T12:26:30.547Z", + "updated_at": "2025-12-09T12:26:30.547Z", + "content": { + "syntax": "liquid", + "body": { + "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}", + "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" + } + } + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -3206,7 +3300,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-password/custom-text/en", + "path": "/api/v2/prompts/login-id/custom-text/en", "body": "", "status": 200, "response": {}, @@ -3216,7 +3310,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/custom-text/en", + "path": "/api/v2/prompts/login-password/custom-text/en", "body": "", "status": 200, "response": {}, @@ -3236,7 +3330,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup/custom-text/en", + "path": "/api/v2/prompts/login-email-verification/custom-text/en", "body": "", "status": 200, "response": {}, @@ -3246,7 +3340,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-email-verification/custom-text/en", + "path": "/api/v2/prompts/signup/custom-text/en", "body": "", "status": 200, "response": {}, @@ -3256,7 +3350,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup-id/custom-text/en", + "path": "/api/v2/prompts/signup-password/custom-text/en", "body": "", "status": 200, "response": {}, @@ -3266,7 +3360,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup-password/custom-text/en", + "path": "/api/v2/prompts/signup-id/custom-text/en", "body": "", "status": 200, "response": {}, @@ -3276,7 +3370,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/phone-identifier-challenge/custom-text/en", + "path": "/api/v2/prompts/phone-identifier-enrollment/custom-text/en", "body": "", "status": 200, "response": {}, @@ -3286,7 +3380,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/phone-identifier-enrollment/custom-text/en", + "path": "/api/v2/prompts/phone-identifier-challenge/custom-text/en", "body": "", "status": 200, "response": {}, @@ -3316,7 +3410,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/consent/custom-text/en", + "path": "/api/v2/prompts/custom-form/custom-text/en", "body": "", "status": 200, "response": {}, @@ -3326,7 +3420,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/custom-form/custom-text/en", + "path": "/api/v2/prompts/consent/custom-text/en", "body": "", "status": 200, "response": {}, @@ -3416,7 +3510,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-recovery-code/custom-text/en", + "path": "/api/v2/prompts/mfa-email/custom-text/en", "body": "", "status": 200, "response": {}, @@ -3426,7 +3520,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-email/custom-text/en", + "path": "/api/v2/prompts/mfa-recovery-code/custom-text/en", "body": "", "status": 200, "response": {}, @@ -3476,7 +3570,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/email-otp-challenge/custom-text/en", + "path": "/api/v2/prompts/organizations/custom-text/en", "body": "", "status": 200, "response": {}, @@ -3486,7 +3580,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/organizations/custom-text/en", + "path": "/api/v2/prompts/email-otp-challenge/custom-text/en", "body": "", "status": 200, "response": {}, @@ -3526,7 +3620,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/passkeys/custom-text/en", + "path": "/api/v2/prompts/brute-force-protection/custom-text/en", "body": "", "status": 200, "response": {}, @@ -3536,7 +3630,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/brute-force-protection/custom-text/en", + "path": "/api/v2/prompts/passkeys/custom-text/en", "body": "", "status": 200, "response": {}, @@ -3546,7 +3640,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/partials", + "path": "/api/v2/prompts/login-password/partials", "body": "", "status": 200, "response": {}, @@ -3556,7 +3650,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login/partials", + "path": "/api/v2/prompts/login-id/partials", "body": "", "status": 200, "response": {}, @@ -3566,7 +3660,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-password/partials", + "path": "/api/v2/prompts/login/partials", "body": "", "status": 200, "response": {}, @@ -3631,33 +3725,33 @@ } ], "created_at": "2025-12-05T14:18:53.100690661Z", - "updated_at": "2025-12-05T14:18:53.114050616Z", + "updated_at": "2025-12-09T12:25:51.494697086Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "built", "secrets": [], "current_version": { - "id": "6a213299-32ce-486f-addb-5864d95ac3d9", + "id": "44fba440-0a0d-4db2-94bf-fc48386af8de", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node18", "status": "BUILT", - "number": 1, - "build_time": "2025-12-05T14:18:53.859494195Z", - "created_at": "2025-12-05T14:18:53.780088164Z", - "updated_at": "2025-12-05T14:18:53.860524296Z" + "number": 5, + "build_time": "2025-12-09T12:25:52.348112095Z", + "created_at": "2025-12-09T12:25:52.274537523Z", + "updated_at": "2025-12-09T12:25:52.349226046Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "6a213299-32ce-486f-addb-5864d95ac3d9", + "id": "44fba440-0a0d-4db2-94bf-fc48386af8de", "deployed": true, - "number": 1, - "built_at": "2025-12-05T14:18:53.859494195Z", + "number": 5, + "built_at": "2025-12-09T12:25:52.348112095Z", "secrets": [], "status": "built", - "created_at": "2025-12-05T14:18:53.780088164Z", - "updated_at": "2025-12-05T14:18:53.860524296Z", + "created_at": "2025-12-09T12:25:52.274537523Z", + "updated_at": "2025-12-09T12:25:52.349226046Z", "runtime": "node18", "supported_triggers": [ { @@ -3667,9 +3761,56 @@ ] }, "all_changes_deployed": true + }, + { + "id": "50d86033-6bc2-4ceb-8991-d14c85d2e304", + "name": "Custom Phone Provider", + "supported_triggers": [ + { + "id": "custom-phone-provider", + "version": "v1" + } + ], + "created_at": "2025-12-09T12:23:14.388072786Z", + "updated_at": "2025-12-09T12:25:51.513462250Z", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "dependencies": [], + "runtime": "node22", + "status": "built", + "secrets": [], + "current_version": { + "id": "96746eb0-d30a-43c8-97b1-7e52ed7f99d8", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "runtime": "node22", + "status": "BUILT", + "number": 2, + "build_time": "2025-12-09T12:25:52.371869360Z", + "created_at": "2025-12-09T12:25:52.307767155Z", + "updated_at": "2025-12-09T12:25:52.372388702Z" + }, + "deployed_version": { + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "dependencies": [], + "id": "96746eb0-d30a-43c8-97b1-7e52ed7f99d8", + "deployed": true, + "number": 2, + "built_at": "2025-12-09T12:25:52.371869360Z", + "secrets": [], + "status": "built", + "created_at": "2025-12-09T12:25:52.307767155Z", + "updated_at": "2025-12-09T12:25:52.372388702Z", + "runtime": "node22", + "supported_triggers": [ + { + "id": "custom-phone-provider", + "version": "v1" + } + ] + }, + "all_changes_deployed": true } ], - "total": 1, + "total": 2, "per_page": 100 }, "rawHeaders": [], @@ -3683,6 +3824,18 @@ "status": 200, "response": { "triggers": [ + { + "id": "post-login", + "version": "v2", + "status": "DEPRECATED", + "runtimes": [ + "node12", + "node18" + ], + "default_runtime": "node16", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, { "id": "post-login", "version": "v3", @@ -3700,28 +3853,6 @@ } ] }, - { - "id": "post-login", - "version": "v2", - "status": "DEPRECATED", - "runtimes": [ - "node18" - ], - "default_runtime": "node16", - "binding_policy": "trigger-bound", - "compatible_triggers": [] - }, - { - "id": "credentials-exchange", - "version": "v1", - "status": "DEPRECATED", - "runtimes": [ - "node12" - ], - "default_runtime": "node12", - "binding_policy": "trigger-bound", - "compatible_triggers": [] - }, { "id": "credentials-exchange", "version": "v2", @@ -3739,6 +3870,7 @@ "version": "v2", "status": "CURRENT", "runtimes": [ + "node12", "node18-actions", "node22" ], @@ -3991,7 +4123,58 @@ "body": "", "status": 200, "response": { - "bindings": [], + "bindings": [ + { + "id": "98a1ef64-bf5f-4128-8ce5-0b3f966d81c9", + "trigger_id": "custom-phone-provider", + "action": { + "id": "50d86033-6bc2-4ceb-8991-d14c85d2e304", + "name": "Custom Phone Provider", + "supported_triggers": [ + { + "id": "custom-phone-provider", + "version": "v1" + } + ], + "created_at": "2025-12-09T12:23:14.388072786Z", + "updated_at": "2025-12-09T12:25:51.502965767Z", + "current_version": { + "id": "96746eb0-d30a-43c8-97b1-7e52ed7f99d8", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "runtime": "node22", + "status": "BUILT", + "number": 2, + "build_time": "2025-12-09T12:25:52.371869360Z", + "created_at": "2025-12-09T12:25:52.307767155Z", + "updated_at": "2025-12-09T12:25:52.372388702Z" + }, + "deployed_version": { + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "dependencies": [], + "id": "96746eb0-d30a-43c8-97b1-7e52ed7f99d8", + "deployed": true, + "number": 2, + "built_at": "2025-12-09T12:25:52.371869360Z", + "secrets": [], + "status": "built", + "created_at": "2025-12-09T12:25:52.307767155Z", + "updated_at": "2025-12-09T12:25:52.372388702Z", + "runtime": "node22", + "supported_triggers": [ + { + "id": "custom-phone-provider", + "version": "v1" + } + ] + }, + "all_changes_deployed": false + }, + "created_at": "2025-12-09T12:26:07.127919966Z", + "updated_at": "2025-12-09T12:26:07.127919966Z", + "display_name": "Custom Phone Provider" + } + ], + "total": 1, "per_page": 50 }, "rawHeaders": [], @@ -4753,6 +4936,29 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/attack-protection/breached-password-detection", + "body": "", + "status": 200, + "response": { + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard", + "stage": { + "pre-user-registration": { + "shields": [] + }, + "pre-change-password": { + "shields": [] + } + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -4802,22 +5008,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/attack-protection/breached-password-detection", + "path": "/api/v2/attack-protection/bot-detection", "body": "", "status": 200, "response": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard", - "stage": { - "pre-user-registration": { - "shields": [] - }, - "pre-change-password": { - "shields": [] - } - } + "challenge_password_policy": "never", + "challenge_passwordless_policy": "never", + "challenge_password_reset_policy": "never", + "allowlist": [], + "bot_detection_level": "medium", + "monitoring_mode_enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -4860,24 +5060,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/attack-protection/bot-detection", - "body": "", - "status": 200, - "response": { - "challenge_password_policy": "never", - "challenge_passwordless_policy": "never", - "challenge_password_reset_policy": "never", - "allowlist": [], - "bot_detection_level": "medium", - "monitoring_mode_enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/log-streams", + "path": "/api/v2/log-streams", "body": "", "status": 200, "response": [ @@ -4887,7 +5070,7 @@ "type": "datadog", "status": "active", "sink": { - "datadogApiKey": "some-sensitive-api-key", + "datadogApiKey": "##LOGSTREAMS_DATADOG_SECRET##", "datadogRegion": "us" }, "isPriority": false @@ -4987,7 +5170,7 @@ "name": "Blank-form", "flow_count": 0, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-05T14:19:17.478Z" + "updated_at": "2025-12-05T14:24:57.289Z" } ] }, @@ -5073,7 +5256,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-05T14:19:17.478Z" + "updated_at": "2025-12-05T14:24:57.289Z" }, "rawHeaders": [], "responseIsBinary": false @@ -5182,7 +5365,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-05T14:19:10.944Z", + "updated_at": "2025-12-09T12:26:08.151Z", "branding": { "colors": { "primary": "#19aecc" @@ -5234,7 +5417,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-05T14:18:54.912Z", + "updated_at": "2025-12-09T12:25:53.862Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] @@ -7554,11 +7737,10 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "path": "/api/v2/clients/ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", "body": { - "name": "auth0-deploy-cli-extension", + "name": "The Default App", "allowed_clients": [], - "app_type": "non_interactive", "callbacks": [], "client_aliases": [], "client_metadata": {}, @@ -7566,6 +7748,9 @@ "cross_origin_authentication": false, "custom_login_page_on": true, "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], "is_first_party": true, @@ -7582,16 +7767,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "token_endpoint_auth_method": "client_secret_post" }, @@ -7600,7 +7786,7 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", + "name": "The Default App", "allowed_clients": [], "callbacks": [], "client_metadata": {}, @@ -7614,16 +7800,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -7633,7 +7820,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7643,8 +7830,10 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -7655,10 +7844,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "path": "/api/v2/clients/XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", "body": { - "name": "The Default App", + "name": "auth0-deploy-cli-extension", "allowed_clients": [], + "app_type": "non_interactive", "callbacks": [], "client_aliases": [], "client_metadata": {}, @@ -7666,9 +7856,6 @@ "cross_origin_authentication": false, "custom_login_page_on": true, "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], "is_first_party": true, @@ -7685,17 +7872,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "sso": false, "sso_disabled": false, "token_endpoint_auth_method": "client_secret_post" }, @@ -7704,7 +7890,7 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], "client_metadata": {}, @@ -7718,17 +7904,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -7738,7 +7923,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7748,10 +7933,8 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -7762,7 +7945,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/otp", + "path": "/api/v2/guardian/factors/email", "body": { "enabled": false }, @@ -7776,7 +7959,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/email", + "path": "/api/v2/guardian/factors/otp", "body": { "enabled": false }, @@ -7790,7 +7973,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/duo", + "path": "/api/v2/guardian/factors/webauthn-platform", "body": { "enabled": false }, @@ -7804,7 +7987,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/recovery-code", + "path": "/api/v2/guardian/factors/webauthn-roaming", "body": { "enabled": false }, @@ -7818,7 +8001,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", + "path": "/api/v2/guardian/factors/recovery-code", "body": { "enabled": false }, @@ -7832,7 +8015,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-platform", + "path": "/api/v2/guardian/factors/sms", "body": { "enabled": false }, @@ -7846,7 +8029,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/push-notification", "body": { "enabled": false }, @@ -7860,7 +8043,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/push-notification", + "path": "/api/v2/guardian/factors/duo", "body": { "enabled": false }, @@ -7959,33 +8142,33 @@ } ], "created_at": "2025-12-05T14:18:53.100690661Z", - "updated_at": "2025-12-05T14:18:53.114050616Z", + "updated_at": "2025-12-09T12:25:51.494697086Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "built", "secrets": [], "current_version": { - "id": "6a213299-32ce-486f-addb-5864d95ac3d9", + "id": "44fba440-0a0d-4db2-94bf-fc48386af8de", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node18", "status": "BUILT", - "number": 1, - "build_time": "2025-12-05T14:18:53.859494195Z", - "created_at": "2025-12-05T14:18:53.780088164Z", - "updated_at": "2025-12-05T14:18:53.860524296Z" + "number": 5, + "build_time": "2025-12-09T12:25:52.348112095Z", + "created_at": "2025-12-09T12:25:52.274537523Z", + "updated_at": "2025-12-09T12:25:52.349226046Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "6a213299-32ce-486f-addb-5864d95ac3d9", + "id": "44fba440-0a0d-4db2-94bf-fc48386af8de", "deployed": true, - "number": 1, - "built_at": "2025-12-05T14:18:53.859494195Z", + "number": 5, + "built_at": "2025-12-09T12:25:52.348112095Z", "secrets": [], "status": "built", - "created_at": "2025-12-05T14:18:53.780088164Z", - "updated_at": "2025-12-05T14:18:53.860524296Z", + "created_at": "2025-12-09T12:25:52.274537523Z", + "updated_at": "2025-12-09T12:25:52.349226046Z", "runtime": "node18", "supported_triggers": [ { @@ -7995,14 +8178,129 @@ ] }, "all_changes_deployed": true + }, + { + "id": "50d86033-6bc2-4ceb-8991-d14c85d2e304", + "name": "Custom Phone Provider", + "supported_triggers": [ + { + "id": "custom-phone-provider", + "version": "v1" + } + ], + "created_at": "2025-12-09T12:23:14.388072786Z", + "updated_at": "2025-12-09T12:25:51.513462250Z", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "dependencies": [], + "runtime": "node22", + "status": "built", + "secrets": [], + "current_version": { + "id": "96746eb0-d30a-43c8-97b1-7e52ed7f99d8", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "runtime": "node22", + "status": "BUILT", + "number": 2, + "build_time": "2025-12-09T12:25:52.371869360Z", + "created_at": "2025-12-09T12:25:52.307767155Z", + "updated_at": "2025-12-09T12:25:52.372388702Z" + }, + "deployed_version": { + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "dependencies": [], + "id": "96746eb0-d30a-43c8-97b1-7e52ed7f99d8", + "deployed": true, + "number": 2, + "built_at": "2025-12-09T12:25:52.371869360Z", + "secrets": [], + "status": "built", + "created_at": "2025-12-09T12:25:52.307767155Z", + "updated_at": "2025-12-09T12:25:52.372388702Z", + "runtime": "node22", + "supported_triggers": [ + { + "id": "custom-phone-provider", + "version": "v1" + } + ] + }, + "all_changes_deployed": true } ], - "total": 1, + "total": 2, "per_page": 100 }, "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/actions/actions/50d86033-6bc2-4ceb-8991-d14c85d2e304", + "body": { + "name": "Custom Phone Provider", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "dependencies": [], + "runtime": "node22", + "secrets": [], + "supported_triggers": [ + { + "id": "custom-phone-provider", + "version": "v1" + } + ] + }, + "status": 200, + "response": { + "id": "50d86033-6bc2-4ceb-8991-d14c85d2e304", + "name": "Custom Phone Provider", + "supported_triggers": [ + { + "id": "custom-phone-provider", + "version": "v1" + } + ], + "created_at": "2025-12-09T12:23:14.388072786Z", + "updated_at": "2025-12-09T12:30:12.235258402Z", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "dependencies": [], + "runtime": "node22", + "status": "pending", + "secrets": [], + "current_version": { + "id": "96746eb0-d30a-43c8-97b1-7e52ed7f99d8", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "runtime": "node22", + "status": "BUILT", + "number": 2, + "build_time": "2025-12-09T12:25:52.371869360Z", + "created_at": "2025-12-09T12:25:52.307767155Z", + "updated_at": "2025-12-09T12:25:52.372388702Z" + }, + "deployed_version": { + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "dependencies": [], + "id": "96746eb0-d30a-43c8-97b1-7e52ed7f99d8", + "deployed": true, + "number": 2, + "built_at": "2025-12-09T12:25:52.371869360Z", + "secrets": [], + "status": "built", + "created_at": "2025-12-09T12:25:52.307767155Z", + "updated_at": "2025-12-09T12:25:52.372388702Z", + "runtime": "node22", + "supported_triggers": [ + { + "id": "custom-phone-provider", + "version": "v1" + } + ] + }, + "all_changes_deployed": true + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -8031,33 +8329,33 @@ } ], "created_at": "2025-12-05T14:18:53.100690661Z", - "updated_at": "2025-12-05T14:24:28.025061142Z", + "updated_at": "2025-12-09T12:30:12.235100452Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "pending", "secrets": [], "current_version": { - "id": "6a213299-32ce-486f-addb-5864d95ac3d9", + "id": "44fba440-0a0d-4db2-94bf-fc48386af8de", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node18", "status": "BUILT", - "number": 1, - "build_time": "2025-12-05T14:18:53.859494195Z", - "created_at": "2025-12-05T14:18:53.780088164Z", - "updated_at": "2025-12-05T14:18:53.860524296Z" + "number": 5, + "build_time": "2025-12-09T12:25:52.348112095Z", + "created_at": "2025-12-09T12:25:52.274537523Z", + "updated_at": "2025-12-09T12:25:52.349226046Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "6a213299-32ce-486f-addb-5864d95ac3d9", + "id": "44fba440-0a0d-4db2-94bf-fc48386af8de", "deployed": true, - "number": 1, - "built_at": "2025-12-05T14:18:53.859494195Z", + "number": 5, + "built_at": "2025-12-09T12:25:52.348112095Z", "secrets": [], "status": "built", - "created_at": "2025-12-05T14:18:53.780088164Z", - "updated_at": "2025-12-05T14:18:53.860524296Z", + "created_at": "2025-12-09T12:25:52.274537523Z", + "updated_at": "2025-12-09T12:25:52.349226046Z", "runtime": "node18", "supported_triggers": [ { @@ -8089,33 +8387,33 @@ } ], "created_at": "2025-12-05T14:18:53.100690661Z", - "updated_at": "2025-12-05T14:24:28.025061142Z", + "updated_at": "2025-12-09T12:30:12.235100452Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "built", "secrets": [], "current_version": { - "id": "6a213299-32ce-486f-addb-5864d95ac3d9", + "id": "44fba440-0a0d-4db2-94bf-fc48386af8de", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node18", "status": "BUILT", - "number": 1, - "build_time": "2025-12-05T14:18:53.859494195Z", - "created_at": "2025-12-05T14:18:53.780088164Z", - "updated_at": "2025-12-05T14:18:53.860524296Z" + "number": 5, + "build_time": "2025-12-09T12:25:52.348112095Z", + "created_at": "2025-12-09T12:25:52.274537523Z", + "updated_at": "2025-12-09T12:25:52.349226046Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "6a213299-32ce-486f-addb-5864d95ac3d9", + "id": "44fba440-0a0d-4db2-94bf-fc48386af8de", "deployed": true, - "number": 1, - "built_at": "2025-12-05T14:18:53.859494195Z", + "number": 5, + "built_at": "2025-12-09T12:25:52.348112095Z", "secrets": [], "status": "built", - "created_at": "2025-12-05T14:18:53.780088164Z", - "updated_at": "2025-12-05T14:18:53.860524296Z", + "created_at": "2025-12-09T12:25:52.274537523Z", + "updated_at": "2025-12-09T12:25:52.349226046Z", "runtime": "node18", "supported_triggers": [ { @@ -8125,9 +8423,56 @@ ] }, "all_changes_deployed": true + }, + { + "id": "50d86033-6bc2-4ceb-8991-d14c85d2e304", + "name": "Custom Phone Provider", + "supported_triggers": [ + { + "id": "custom-phone-provider", + "version": "v1" + } + ], + "created_at": "2025-12-09T12:23:14.388072786Z", + "updated_at": "2025-12-09T12:30:12.235258402Z", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "dependencies": [], + "runtime": "node22", + "status": "built", + "secrets": [], + "current_version": { + "id": "96746eb0-d30a-43c8-97b1-7e52ed7f99d8", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "runtime": "node22", + "status": "BUILT", + "number": 2, + "build_time": "2025-12-09T12:25:52.371869360Z", + "created_at": "2025-12-09T12:25:52.307767155Z", + "updated_at": "2025-12-09T12:25:52.372388702Z" + }, + "deployed_version": { + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "dependencies": [], + "id": "96746eb0-d30a-43c8-97b1-7e52ed7f99d8", + "deployed": true, + "number": 2, + "built_at": "2025-12-09T12:25:52.371869360Z", + "secrets": [], + "status": "built", + "created_at": "2025-12-09T12:25:52.307767155Z", + "updated_at": "2025-12-09T12:25:52.372388702Z", + "runtime": "node22", + "supported_triggers": [ + { + "id": "custom-phone-provider", + "version": "v1" + } + ] + }, + "all_changes_deployed": true } ], - "total": 1, + "total": 2, "per_page": 100 }, "rawHeaders": [], @@ -8142,13 +8487,13 @@ "response": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "f2b70924-49de-4b47-acbc-96602dd5e836", + "id": "0add2116-19c1-4f2d-b66a-3592d7d38559", "deployed": false, - "number": 2, + "number": 6, "secrets": [], "status": "built", - "created_at": "2025-12-05T14:24:28.826233092Z", - "updated_at": "2025-12-05T14:24:28.826233092Z", + "created_at": "2025-12-09T12:30:12.969210112Z", + "updated_at": "2025-12-09T12:30:12.969210112Z", "runtime": "node18", "supported_triggers": [ { @@ -8166,7 +8511,7 @@ } ], "created_at": "2025-12-05T14:18:53.100690661Z", - "updated_at": "2025-12-05T14:24:28.016621482Z", + "updated_at": "2025-12-09T12:30:12.227479056Z", "all_changes_deployed": false } }, @@ -8175,67 +8520,39 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/bot-detection", - "body": { - "challenge_password_policy": "never", - "challenge_passwordless_policy": "never", - "challenge_password_reset_policy": "never", - "allowlist": [], - "bot_detection_level": "medium", - "monitoring_mode_enabled": false - }, + "method": "POST", + "path": "/api/v2/actions/actions/50d86033-6bc2-4ceb-8991-d14c85d2e304/deploy", + "body": "", "status": 200, "response": { - "challenge_password_policy": "never", - "challenge_passwordless_policy": "never", - "challenge_password_reset_policy": "never", - "allowlist": [], - "bot_detection_level": "medium", - "monitoring_mode_enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/suspicious-ip-throttling", - "body": { - "enabled": true, - "shields": [ - "admin_notification", - "block" - ], - "allowlist": [], - "stage": { - "pre-login": { - "max_attempts": 100, - "rate": 864000 - }, - "pre-user-registration": { - "max_attempts": 50, - "rate": 1200 + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "dependencies": [], + "id": "23bfff1b-d5bb-4f29-bcd5-d5a8779a6843", + "deployed": false, + "number": 3, + "secrets": [], + "status": "built", + "created_at": "2025-12-09T12:30:12.977011820Z", + "updated_at": "2025-12-09T12:30:12.977011820Z", + "runtime": "node22", + "supported_triggers": [ + { + "id": "custom-phone-provider", + "version": "v1" } - } - }, - "status": 200, - "response": { - "enabled": true, - "shields": [ - "admin_notification", - "block" ], - "allowlist": [], - "stage": { - "pre-login": { - "max_attempts": 100, - "rate": 864000 - }, - "pre-user-registration": { - "max_attempts": 50, - "rate": 1200 - } + "action": { + "id": "50d86033-6bc2-4ceb-8991-d14c85d2e304", + "name": "Custom Phone Provider", + "supported_triggers": [ + { + "id": "custom-phone-provider", + "version": "v1" + } + ], + "created_at": "2025-12-09T12:23:14.388072786Z", + "updated_at": "2025-12-09T12:30:12.225370374Z", + "all_changes_deployed": false } }, "rawHeaders": [], @@ -8272,15 +8589,55 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/attack-protection/breached-password-detection", + "path": "/api/v2/attack-protection/captcha", "body": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard", - "stage": { - "pre-user-registration": { - "shields": [] + "active_provider_id": "auth_challenge", + "auth_challenge": { + "fail_open": false + } + }, + "status": 200, + "response": { + "active_provider_id": "auth_challenge", + "simple_captcha": {}, + "auth_challenge": { + "fail_open": false + }, + "recaptcha_v2": { + "site_key": "" + }, + "recaptcha_enterprise": { + "site_key": "", + "project_id": "" + }, + "hcaptcha": { + "site_key": "" + }, + "friendly_captcha": { + "site_key": "" + }, + "arkose": { + "site_key": "", + "client_subdomain": "client-api", + "verify_subdomain": "verify-api", + "fail_open": false + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/breached-password-detection", + "body": { + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard", + "stage": { + "pre-user-registration": { + "shields": [] }, "pre-change-password": { "shields": [] @@ -8308,38 +8665,66 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/attack-protection/captcha", + "path": "/api/v2/attack-protection/bot-detection", "body": { - "active_provider_id": "auth_challenge", - "auth_challenge": { - "fail_open": false + "challenge_password_policy": "never", + "challenge_passwordless_policy": "never", + "challenge_password_reset_policy": "never", + "allowlist": [], + "bot_detection_level": "medium", + "monitoring_mode_enabled": false + }, + "status": 200, + "response": { + "challenge_password_policy": "never", + "challenge_passwordless_policy": "never", + "challenge_password_reset_policy": "never", + "allowlist": [], + "bot_detection_level": "medium", + "monitoring_mode_enabled": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/suspicious-ip-throttling", + "body": { + "enabled": true, + "shields": [ + "admin_notification", + "block" + ], + "allowlist": [], + "stage": { + "pre-login": { + "max_attempts": 100, + "rate": 864000 + }, + "pre-user-registration": { + "max_attempts": 50, + "rate": 1200 + } } }, "status": 200, "response": { - "active_provider_id": "auth_challenge", - "simple_captcha": {}, - "auth_challenge": { - "fail_open": false - }, - "recaptcha_v2": { - "site_key": "" - }, - "recaptcha_enterprise": { - "site_key": "", - "project_id": "" - }, - "hcaptcha": { - "site_key": "" - }, - "friendly_captcha": { - "site_key": "" - }, - "arkose": { - "site_key": "", - "client_subdomain": "client-api", - "verify_subdomain": "verify-api", - "fail_open": false + "enabled": true, + "shields": [ + "admin_notification", + "block" + ], + "allowlist": [], + "stage": { + "pre-login": { + "max_attempts": 100, + "rate": 864000 + }, + "pre-user-registration": { + "max_attempts": 50, + "rate": 1200 + } } }, "rawHeaders": [], @@ -8382,7 +8767,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-05T14:18:54.912Z", + "updated_at": "2025-12-09T12:25:53.862Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] @@ -8427,7 +8812,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-05T14:24:30.497Z", + "updated_at": "2025-12-09T12:30:14.491Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" }, "rawHeaders": [], @@ -9178,8 +9563,8 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" ] }, { @@ -9220,8 +9605,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -9301,8 +9686,8 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" ] }, { @@ -9343,8 +9728,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -9355,16 +9740,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients?take=50", + "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" }, { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" } ] }, @@ -9374,16 +9759,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients?take=50", + "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" }, { - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" } ] }, @@ -9393,16 +9778,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients?take=50", + "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" }, { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" } ] }, @@ -9412,16 +9797,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients?take=50", + "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" }, { - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" } ] }, @@ -9431,23 +9816,42 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK", + "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE", "body": "", "status": 200, "response": { - "id": "con_CfDqv7jPXpFqETeK", + "id": "con_bBSD5AQUW0Q5aLuE", "options": { "mfa": { "active": true, "return_enroll_settings": true }, - "passwordPolicy": "good", + "import_mode": false, + "customScripts": { + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", "passkey_options": { "challenge_ui": "both", "local_enrollment_enabled": true, "progressive_enrollment_enabled": true }, + "password_history": { + "size": 5, + "enable": false + }, "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, "authentication_methods": { "passkey": { "enabled": false @@ -9457,10 +9861,17 @@ "api_behavior": "required" } }, - "brute_force_protection": true + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true }, "strategy": "auth0", - "name": "Username-Password-Authentication", + "name": "boo-baz-db-connection-test", "is_domain_connection": false, "authentication": { "active": true @@ -9469,11 +9880,11 @@ "active": false }, "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" ], "realms": [ - "Username-Password-Authentication" + "boo-baz-db-connection-test" ] }, "rawHeaders": [], @@ -9482,42 +9893,23 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE", + "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK", "body": "", "status": 200, "response": { - "id": "con_bBSD5AQUW0Q5aLuE", + "id": "con_CfDqv7jPXpFqETeK", "options": { "mfa": { "active": true, "return_enroll_settings": true }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", + "passwordPolicy": "good", "passkey_options": { "challenge_ui": "both", "local_enrollment_enabled": true, "progressive_enrollment_enabled": true }, - "password_history": { - "size": 5, - "enable": false - }, "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, "authentication_methods": { "passkey": { "enabled": false @@ -9527,17 +9919,10 @@ "api_behavior": "required" } }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true + "brute_force_protection": true }, "strategy": "auth0", - "name": "boo-baz-db-connection-test", + "name": "Username-Password-Authentication", "is_domain_connection": false, "authentication": { "active": true @@ -9546,11 +9931,11 @@ "active": false }, "enabled_clients": [ - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ], "realms": [ - "boo-baz-db-connection-test" + "Username-Password-Authentication" ] }, "rawHeaders": [], @@ -10416,8 +10801,8 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" ] }, { @@ -10566,8 +10951,8 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" ] }, { @@ -11841,7 +12226,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/client-grants/cgr_ReJeayDzA8FTvFPY", + "path": "/api/v2/client-grants/cgr_JYmQHwQEXGDCc53P", "body": { "scope": [ "read:client_grants", @@ -11978,8 +12363,8 @@ }, "status": 200, "response": { - "id": "cgr_ReJeayDzA8FTvFPY", - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "id": "cgr_JYmQHwQEXGDCc53P", + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -12121,7 +12506,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/client-grants/cgr_JYmQHwQEXGDCc53P", + "path": "/api/v2/client-grants/cgr_ReJeayDzA8FTvFPY", "body": { "scope": [ "read:client_grants", @@ -12258,8 +12643,8 @@ }, "status": 200, "response": { - "id": "cgr_JYmQHwQEXGDCc53P", - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "id": "cgr_ReJeayDzA8FTvFPY", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -12622,6 +13007,65 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/branding/phone/providers", + "body": "", + "status": 200, + "response": { + "providers": [ + { + "id": "pro_mY3L5BP6iVUUzpv22opofm", + "tenant": "auth0-deploy-cli-e2e", + "name": "custom", + "channel": "phone", + "disabled": false, + "configuration": { + "delivery_methods": [ + "text" + ] + }, + "credentials": null, + "created_at": "2025-12-09T12:24:00.604Z", + "updated_at": "2025-12-09T12:26:07.171Z" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/branding/phone/providers/pro_mY3L5BP6iVUUzpv22opofm", + "body": { + "name": "custom", + "configuration": { + "delivery_methods": [ + "text" + ] + }, + "disabled": false + }, + "status": 200, + "response": { + "id": "pro_mY3L5BP6iVUUzpv22opofm", + "tenant": "auth0-deploy-cli-e2e", + "name": "custom", + "channel": "phone", + "disabled": false, + "configuration": { + "delivery_methods": [ + "text" + ] + }, + "created_at": "2025-12-09T12:24:00.604Z", + "updated_at": "2025-12-09T12:30:28.218Z" + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -12651,7 +13095,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-05T14:19:10.944Z", + "updated_at": "2025-12-09T12:26:08.151Z", "branding": { "colors": { "primary": "#19aecc" @@ -12727,7 +13171,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-05T14:24:44.076Z", + "updated_at": "2025-12-09T12:30:29.308Z", "branding": { "colors": { "primary": "#19aecc" @@ -12737,28 +13181,214 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/branding/phone/templates", + "body": "", + "status": 200, + "response": { + "templates": [ + { + "id": "tem_dL83uTmWn8moGzm8UgAk4Q", + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "blocked_account", + "disabled": false, + "created_at": "2025-12-09T12:22:47.683Z", + "updated_at": "2025-12-09T12:26:08.914Z", + "content": { + "syntax": "liquid", + "body": { + "text": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message.", + "voice": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message." + }, + "from": "0032232323" + } + }, + { + "id": "tem_xqbUSF83fpnRv8r8rqXFDZ", + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "change_password", + "disabled": false, + "created_at": "2025-12-09T12:26:20.243Z", + "updated_at": "2025-12-09T12:26:20.243Z", + "content": { + "syntax": "liquid", + "body": { + "text": "{{ code | escape }} is your password change code for {{ friendly_name | escape }}", + "voice": "Hello. Your password change code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your password change code is {{ pause }} {{ code | escape }}" + } + } + }, + { + "id": "tem_qarYST5TTE5pbMNB5NHZAj", + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "otp_enroll", + "disabled": false, + "created_at": "2025-12-09T12:26:25.327Z", + "updated_at": "2025-12-09T12:26:25.327Z", + "content": { + "syntax": "liquid", + "body": { + "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}. Please enter this code to verify your enrollment.", + "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" + } + } + }, + { + "id": "tem_o4LBTt4NQyX8K4vC9dPafR", + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "otp_verify", + "disabled": false, + "created_at": "2025-12-09T12:26:30.547Z", + "updated_at": "2025-12-09T12:26:30.547Z", + "content": { + "syntax": "liquid", + "body": { + "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}", + "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" + } + } + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/email-templates/verify_email", + "path": "/api/v2/branding/phone/templates/tem_dL83uTmWn8moGzm8UgAk4Q", "body": { - "template": "verify_email", - "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", - "enabled": true, - "from": "", - "subject": "", - "syntax": "liquid", - "urlLifetimeInSeconds": 432000 + "content": { + "from": "0032232323", + "body": { + "text": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message.", + "voice": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message." + } + }, + "disabled": false }, "status": 200, "response": { - "template": "verify_email", - "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", - "from": "", - "subject": "", - "syntax": "liquid", - "urlLifetimeInSeconds": 432000, - "enabled": true + "id": "tem_dL83uTmWn8moGzm8UgAk4Q", + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "blocked_account", + "disabled": false, + "created_at": "2025-12-09T12:22:47.683Z", + "updated_at": "2025-12-09T12:30:30.019Z", + "content": { + "syntax": "liquid", + "body": { + "text": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message.", + "voice": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message." + }, + "from": "0032232323" + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/branding/phone/templates/tem_xqbUSF83fpnRv8r8rqXFDZ", + "body": { + "content": { + "body": { + "text": "{{ code | escape }} is your password change code for {{ friendly_name | escape }}", + "voice": "Hello. Your password change code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your password change code is {{ pause }} {{ code | escape }}" + } + }, + "disabled": false + }, + "status": 200, + "response": { + "id": "tem_xqbUSF83fpnRv8r8rqXFDZ", + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "change_password", + "disabled": false, + "created_at": "2025-12-09T12:26:20.243Z", + "updated_at": "2025-12-09T12:30:30.034Z", + "content": { + "syntax": "liquid", + "body": { + "text": "{{ code | escape }} is your password change code for {{ friendly_name | escape }}", + "voice": "Hello. Your password change code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your password change code is {{ pause }} {{ code | escape }}" + } + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/branding/phone/templates/tem_qarYST5TTE5pbMNB5NHZAj", + "body": { + "content": { + "body": { + "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}. Please enter this code to verify your enrollment.", + "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" + } + }, + "disabled": false + }, + "status": 200, + "response": { + "id": "tem_qarYST5TTE5pbMNB5NHZAj", + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "otp_enroll", + "disabled": false, + "created_at": "2025-12-09T12:26:25.327Z", + "updated_at": "2025-12-09T12:30:30.174Z", + "content": { + "syntax": "liquid", + "body": { + "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}. Please enter this code to verify your enrollment.", + "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" + } + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/branding/phone/templates/tem_o4LBTt4NQyX8K4vC9dPafR", + "body": { + "content": { + "body": { + "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}", + "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" + } + }, + "disabled": false + }, + "status": 200, + "response": { + "id": "tem_o4LBTt4NQyX8K4vC9dPafR", + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "otp_verify", + "disabled": false, + "created_at": "2025-12-09T12:26:30.547Z", + "updated_at": "2025-12-09T12:30:30.365Z", + "content": { + "syntax": "liquid", + "body": { + "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}", + "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" + } + } }, "rawHeaders": [], "responseIsBinary": false @@ -12791,6 +13421,32 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/email-templates/verify_email", + "body": { + "template": "verify_email", + "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", + "enabled": true, + "from": "", + "subject": "", + "syntax": "liquid", + "urlLifetimeInSeconds": 432000 + }, + "status": 200, + "response": { + "template": "verify_email", + "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", + "from": "", + "subject": "", + "syntax": "liquid", + "urlLifetimeInSeconds": 432000, + "enabled": true + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -13602,8 +14258,8 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" ] }, { @@ -14781,7 +15437,7 @@ "type": "datadog", "status": "active", "sink": { - "datadogApiKey": "some-sensitive-api-key", + "datadogApiKey": "##LOGSTREAMS_DATADOG_SECRET##", "datadogRegion": "us" }, "isPriority": false @@ -14840,34 +15496,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/log-streams/lst_0000000000025431", - "body": { - "name": "Suspended DD Log Stream", - "isPriority": false, - "sink": { - "datadogApiKey": "##LOGSTREAMS_DATADOG_SECRET##", - "datadogRegion": "us" - }, - "status": "active" - }, - "status": 200, - "response": { - "id": "lst_0000000000025431", - "name": "Suspended DD Log Stream", - "type": "datadog", - "status": "active", - "sink": { - "datadogApiKey": "##LOGSTREAMS_DATADOG_SECRET##", - "datadogRegion": "us" - }, - "isPriority": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -14969,6 +15597,34 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/log-streams/lst_0000000000025431", + "body": { + "name": "Suspended DD Log Stream", + "isPriority": false, + "sink": { + "datadogApiKey": "##LOGSTREAMS_DATADOG_SECRET##", + "datadogRegion": "us" + }, + "status": "active" + }, + "status": 200, + "response": { + "id": "lst_0000000000025431", + "name": "Suspended DD Log Stream", + "type": "datadog", + "status": "active", + "sink": { + "datadogApiKey": "##LOGSTREAMS_DATADOG_SECRET##", + "datadogRegion": "us" + }, + "isPriority": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -14999,6 +15655,78 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/actions/triggers/custom-phone-provider/bindings", + "body": { + "bindings": [ + { + "ref": { + "type": "action_name", + "value": "Custom Phone Provider" + }, + "display_name": "Custom Phone Provider" + } + ] + }, + "status": 200, + "response": { + "bindings": [ + { + "id": "0c7814f9-5cbb-47bc-a868-cac7b38e7225", + "trigger_id": "custom-phone-provider", + "action": { + "id": "50d86033-6bc2-4ceb-8991-d14c85d2e304", + "name": "Custom Phone Provider", + "supported_triggers": [ + { + "id": "custom-phone-provider", + "version": "v1" + } + ], + "created_at": "2025-12-09T12:23:14.388072786Z", + "updated_at": "2025-12-09T12:30:12.225370374Z", + "current_version": { + "id": "23bfff1b-d5bb-4f29-bcd5-d5a8779a6843", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "runtime": "node22", + "status": "BUILT", + "number": 3, + "build_time": "2025-12-09T12:30:13.066221969Z", + "created_at": "2025-12-09T12:30:12.977011820Z", + "updated_at": "2025-12-09T12:30:13.067900742Z" + }, + "deployed_version": { + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "dependencies": [], + "id": "23bfff1b-d5bb-4f29-bcd5-d5a8779a6843", + "deployed": true, + "number": 3, + "built_at": "2025-12-09T12:30:13.066221969Z", + "secrets": [], + "status": "built", + "created_at": "2025-12-09T12:30:12.977011820Z", + "updated_at": "2025-12-09T12:30:13.067900742Z", + "runtime": "node22", + "supported_triggers": [ + { + "id": "custom-phone-provider", + "version": "v1" + } + ] + }, + "all_changes_deployed": false + }, + "created_at": "2025-12-09T12:30:40.877571889Z", + "updated_at": "2025-12-09T12:30:40.877571889Z", + "display_name": "Custom Phone Provider" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -15032,14 +15760,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "limit": 100, + "limit": 50, "start": 0, "total": 0, - "flows": [] + "connections": [] }, "rawHeaders": [], "responseIsBinary": false @@ -15047,14 +15775,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { - "limit": 50, + "limit": 100, "start": 0, "total": 0, - "connections": [] + "flows": [] }, "rawHeaders": [], "responseIsBinary": false @@ -15105,7 +15833,7 @@ "name": "Blank-form", "flow_count": 0, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-05T14:19:17.478Z" + "updated_at": "2025-12-05T14:24:57.289Z" } ] }, @@ -15191,7 +15919,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-05T14:19:17.478Z" + "updated_at": "2025-12-05T14:24:57.289Z" }, "rawHeaders": [], "responseIsBinary": false @@ -15316,7 +16044,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-05T14:24:57.289Z" + "updated_at": "2025-12-09T12:30:43.698Z" }, "rawHeaders": [], "responseIsBinary": false diff --git a/test/e2e/recordings/should-dump-without-throwing-an-error.json b/test/e2e/recordings/should-dump-without-throwing-an-error.json index bd077cdc4..de506185e 100644 --- a/test/e2e/recordings/should-dump-without-throwing-an-error.json +++ b/test/e2e/recordings/should-dump-without-throwing-an-error.json @@ -1120,7 +1120,7 @@ "body": "", "status": 200, "response": { - "total": 2, + "total": 9, "start": 0, "limit": 100, "clients": [ @@ -1185,6 +1185,7 @@ "is_token_endpoint_ip_header_trusted": false, "name": "Default App", "callbacks": [], + "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -1198,7 +1199,6 @@ }, "sso_disabled": false, "cross_origin_authentication": false, - "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -1206,7 +1206,7 @@ "subject": "deprecated" } ], - "client_id": "VTTBLf4Y7vX3tpTVj0TuGPLPXGsAMUrj", + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1221,157 +1221,765 @@ "client_credentials" ], "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?take=50&strategy=auth0", - "body": "", - "status": 200, - "response": { - "connections": [ + }, { - "id": "con_LyQ8Ql8u6kYDmUkh", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false }, - "brute_force_protection": true + "facebook": { + "enabled": false + } }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "authentication": { - "active": true + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" }, - "connected_accounts": { - "active": false + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false }, - "realms": [ - "Username-Password-Authentication" + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" ], - "enabled_clients": [ - "VTTBLf4Y7vX3tpTVj0TuGPLPXGsAMUrj", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_LyQ8Ql8u6kYDmUkh/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ - { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "custom_login_page_on": true }, { - "client_id": "VTTBLf4Y7vX3tpTVj0TuGPLPXGsAMUrj" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_LyQ8Ql8u6kYDmUkh/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ - { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true }, { - "client_id": "VTTBLf4Y7vX3tpTVj0TuGPLPXGsAMUrj" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?take=50", - "body": "", - "status": 200, - "response": { - "connections": [ - { - "id": "con_LyQ8Ql8u6kYDmUkh", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false }, - "brute_force_protection": true + "facebook": { + "enabled": false + } }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "authentication": { - "active": true + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" }, - "connected_accounts": { - "active": false + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "allowed_origins": [], + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false }, - "realms": [ - "Username-Password-Authentication" + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "regular_web", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" ], - "enabled_clients": [ - "VTTBLf4Y7vX3tpTVj0TuGPLPXGsAMUrj", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - ] - } - ] - }, + "web_origins": [], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Terraform Provider", + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "The Default App", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso": false, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "none", + "app_type": "spa", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections?take=50&strategy=auth0", + "body": "", + "status": 200, + "response": { + "connections": [ + { + "id": "con_bBSD5AQUW0Q5aLuE", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "import_mode": false, + "customScripts": { + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "password_history": { + "size": 5, + "enable": false + }, + "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true + }, + "strategy": "auth0", + "name": "boo-baz-db-connection-test", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "boo-baz-db-connection-test" + ], + "enabled_clients": [ + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + ] + }, + { + "id": "con_CfDqv7jPXpFqETeK", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true + }, + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "Username-Password-Authentication" + ], + "enabled_clients": [ + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + ] + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients?take=50", + "body": "", + "status": 200, + "response": { + "clients": [ + { + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + }, + { + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients?take=50", + "body": "", + "status": 200, + "response": { + "clients": [ + { + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" + }, + { + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients?take=50", + "body": "", + "status": 200, + "response": { + "clients": [ + { + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + }, + { + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients?take=50", + "body": "", + "status": 200, + "response": { + "clients": [ + { + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" + }, + { + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections?take=50", + "body": "", + "status": 200, + "response": { + "connections": [ + { + "id": "con_bBSD5AQUW0Q5aLuE", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "import_mode": false, + "customScripts": { + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "password_history": { + "size": 5, + "enable": false + }, + "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true + }, + "strategy": "auth0", + "name": "boo-baz-db-connection-test", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "boo-baz-db-connection-test" + ], + "enabled_clients": [ + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + ] + }, + { + "id": "con_yGZ6rzfkdR6mMBoE", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + }, + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "google-oauth2" + ], + "enabled_clients": [ + "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" + ] + }, + { + "id": "con_CfDqv7jPXpFqETeK", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true + }, + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "Username-Password-Authentication" + ], + "enabled_clients": [ + "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + ] + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients?take=50", + "body": "", + "status": 200, + "response": { + "clients": [ + { + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + }, + { + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients?take=50", + "body": "", + "status": 200, + "response": { + "clients": [ + { + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + }, + { + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" + } + ] + }, "rawHeaders": [], "responseIsBinary": false }, @@ -1483,7 +2091,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email_by_code", + "path": "/api/v2/email-templates/verify_email_by_code", "body": "", "status": 404, "response": { @@ -1498,7 +2106,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/async_approval", + "path": "/api/v2/email-templates/mfa_oob_code", "body": "", "status": 404, "response": { @@ -1513,7 +2121,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/change_password", + "path": "/api/v2/email-templates/reset_email_by_code", "body": "", "status": 404, "response": { @@ -1528,18 +2136,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/welcome_email", + "path": "/api/v2/email-templates/blocked_account", "body": "", - "status": 200, + "status": 404, "response": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" }, "rawHeaders": [], "responseIsBinary": false @@ -1547,7 +2151,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/stolen_credentials", + "path": "/api/v2/email-templates/user_invitation", "body": "", "status": 404, "response": { @@ -1562,7 +2166,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/verify_email_by_code", + "path": "/api/v2/email-templates/enrollment_email", "body": "", "status": 404, "response": { @@ -1577,14 +2181,18 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/password_reset", + "path": "/api/v2/email-templates/welcome_email", "body": "", - "status": 404, + "status": 200, "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "from": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", + "syntax": "liquid", + "urlLifetimeInSeconds": 3600, + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -1592,7 +2200,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/mfa_oob_code", + "path": "/api/v2/email-templates/change_password", "body": "", "status": 404, "response": { @@ -1607,7 +2215,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/enrollment_email", + "path": "/api/v2/email-templates/async_approval", "body": "", "status": 404, "response": { @@ -1622,7 +2230,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/user_invitation", + "path": "/api/v2/email-templates/password_reset", "body": "", "status": 404, "response": { @@ -1652,7 +2260,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/blocked_account", + "path": "/api/v2/email-templates/stolen_credentials", "body": "", "status": 404, "response": { @@ -1672,6 +2280,282 @@ "status": 200, "response": { "client_grants": [ + { + "id": "cgr_JYmQHwQEXGDCc53P", + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ], + "subject_type": "client" + }, + { + "id": "cgr_ReJeayDzA8FTvFPY", + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ], + "subject_type": "client" + }, { "id": "cgr_pbwejzhwoujrsNE8", "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", @@ -1915,58 +2799,481 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/guardian/factors", + "path": "/api/v2/guardian/factors", + "body": "", + "status": 200, + "response": [ + { + "name": "sms", + "enabled": false, + "trial_expired": false + }, + { + "name": "push-notification", + "enabled": false, + "trial_expired": false + }, + { + "name": "otp", + "enabled": false, + "trial_expired": false + }, + { + "name": "email", + "enabled": false, + "trial_expired": false + }, + { + "name": "duo", + "enabled": false, + "trial_expired": false + }, + { + "name": "webauthn-roaming", + "enabled": false, + "trial_expired": false + }, + { + "name": "webauthn-platform", + "enabled": false, + "trial_expired": false + }, + { + "name": "recovery-code", + "enabled": false, + "trial_expired": false + } + ], + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/guardian/factors/sms/providers/twilio", + "body": "", + "status": 200, + "response": {}, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/guardian/factors/push-notification/providers/sns", + "body": "", + "status": 200, + "response": {}, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/guardian/factors/sms/templates", + "body": "", + "status": 200, + "response": { + "enrollment_message": "enroll foo", + "verification_message": "verify foo" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/guardian/policies", + "body": "", + "status": 200, + "response": [], + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/guardian/factors/phone/selected-provider", + "body": "", + "status": 200, + "response": { + "provider": "auth0" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/guardian/factors/phone/message-types", + "body": "", + "status": 200, + "response": { + "message_types": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "roles": [ + { + "id": "rol_EH7ASyHIXKqKPc4X", + "name": "Admin", + "description": "Can read and write things" + }, + { + "id": "rol_WHMW5tI8GYuTShEL", + "name": "Reader", + "description": "Can only read things" + }, + { + "id": "rol_dkoJYFPEbm4fBQUa", + "name": "read_only", + "description": "Read Only" + }, + { + "id": "rol_6mNIPtAC2wBSBD7S", + "name": "read_osnly", + "description": "Readz Only" + } + ], + "start": 0, + "limit": 100, + "total": 4 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/branding", + "body": "", + "status": 200, + "response": { + "colors": { + "primary": "#F8F8F2", + "page_background": "#222221" + }, + "logo_url": "https://upload.wikimedia.org/wikipedia/commons/0/0d/Grandmas_marathon_finishers.png" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/custom-domains", + "body": "", + "status": 200, + "response": [], + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/branding/phone/providers", + "body": "", + "status": 200, + "response": { + "providers": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/branding/phone/templates", + "body": "", + "status": 200, + "response": { + "templates": [ + { + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "blocked_account", + "disabled": false, + "created_at": "2025-12-09T12:15:10.084Z", + "updated_at": "2025-12-09T12:15:10.084Z", + "content": { + "syntax": "liquid", + "body": { + "text": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message.", + "voice": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message." + }, + "from": "" + } + }, + { + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "change_password", + "disabled": false, + "created_at": "2025-12-09T12:15:10.084Z", + "updated_at": "2025-12-09T12:15:10.084Z", + "content": { + "syntax": "liquid", + "body": { + "text": "{{ code | escape }} is your password change code for {{ friendly_name | escape }}", + "voice": "Hello. Your password change code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your password change code is {{ pause }} {{ code | escape }}" + }, + "from": "" + } + }, + { + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "otp_enroll", + "disabled": false, + "created_at": "2025-12-09T12:15:10.084Z", + "updated_at": "2025-12-09T12:15:10.084Z", + "content": { + "syntax": "liquid", + "body": { + "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}. Please enter this code to verify your enrollment.", + "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" + }, + "from": "" + } + }, + { + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "otp_verify", + "disabled": false, + "created_at": "2025-12-09T12:15:10.084Z", + "updated_at": "2025-12-09T12:15:10.084Z", + "content": { + "syntax": "liquid", + "body": { + "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}", + "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" + }, + "from": "" + } + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/prompts", "body": "", "status": 200, - "response": [ - { - "name": "sms", - "enabled": false, - "trial_expired": false - }, - { - "name": "push-notification", - "enabled": false, - "trial_expired": false + "response": { + "universal_login_experience": "new", + "identifier_first": true + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/tenants/settings", + "body": "", + "status": 200, + "response": { + "allowed_logout_urls": [ + "https://mycompany.org/logoutCallback" + ], + "change_password": { + "enabled": true, + "html": "Change Password\n" }, - { - "name": "otp", - "enabled": false, - "trial_expired": false + "enabled_locales": [ + "en" + ], + "error_page": { + "html": "Error Page\n", + "show_log_link": false, + "url": "https://mycompany.org/error" }, - { - "name": "email", - "enabled": false, - "trial_expired": false + "flags": { + "allow_changing_enable_sso": false, + "allow_legacy_delegation_grant_types": true, + "allow_legacy_ro_grant_types": true, + "change_pwd_flow_v1": false, + "disable_impersonation": true, + "enable_apis_section": false, + "enable_client_connections": false, + "enable_custom_domain_in_emails": false, + "enable_dynamic_client_registration": false, + "enable_legacy_logs_search_v2": false, + "enable_public_signup_user_exists_error": true, + "enable_sso": true, + "new_universal_login_experience_enabled": true, + "universal_login": true, + "use_scope_descriptions_for_consent": false, + "revoke_refresh_token_grant": false, + "disable_clickjack_protection_headers": false, + "enable_pipeline2": false }, - { - "name": "duo", - "enabled": false, - "trial_expired": false + "friendly_name": "My Test Tenant", + "guardian_mfa_page": { + "enabled": true, + "html": "MFA\n" }, - { - "name": "webauthn-roaming", - "enabled": false, - "trial_expired": false + "idle_session_lifetime": 1, + "picture_url": "https://upload.wikimedia.org/wikipedia/commons/0/0d/Grandmas_marathon_finishers.png", + "sandbox_version": "12", + "session_lifetime": 3.0166666666666666, + "support_email": "support@mycompany.org", + "support_url": "https://mycompany.org/support", + "universal_login": { + "colors": { + "primary": "#F8F8F2", + "page_background": "#222221" + } }, - { - "name": "webauthn-platform", - "enabled": false, - "trial_expired": false + "resource_parameter_profile": "audience", + "session_cookie": { + "mode": "non-persistent" }, - { - "name": "recovery-code", - "enabled": false, - "trial_expired": false - } - ], + "sandbox_versions_available": [ + "22", + "18", + "12" + ] + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/guardian/factors/sms/providers/twilio", + "path": "/api/v2/prompts/login/custom-text/en", "body": "", "status": 200, "response": {}, @@ -1976,7 +3283,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/guardian/factors/push-notification/providers/sns", + "path": "/api/v2/prompts/login-password/custom-text/en", "body": "", "status": 200, "response": {}, @@ -1986,192 +3293,127 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/guardian/factors/sms/templates", + "path": "/api/v2/prompts/login-id/custom-text/en", "body": "", "status": 200, - "response": { - "enrollment_message": "enroll foo", - "verification_message": "verify foo" - }, + "response": {}, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/guardian/policies", + "path": "/api/v2/prompts/login-passwordless/custom-text/en", "body": "", "status": 200, - "response": [], + "response": {}, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/guardian/factors/phone/selected-provider", + "path": "/api/v2/prompts/signup/custom-text/en", "body": "", "status": 200, - "response": { - "provider": "auth0" - }, + "response": {}, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/guardian/factors/phone/message-types", + "path": "/api/v2/prompts/login-email-verification/custom-text/en", "body": "", "status": 200, - "response": { - "message_types": [] - }, + "response": {}, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles?per_page=100&page=0&include_totals=true", + "path": "/api/v2/prompts/signup-id/custom-text/en", "body": "", "status": 200, - "response": { - "roles": [], - "start": 0, - "limit": 100, - "total": 0 - }, + "response": {}, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/branding", + "path": "/api/v2/prompts/signup-password/custom-text/en", "body": "", "status": 200, - "response": { - "colors": { - "primary": "#F8F8F2", - "page_background": "#222221" - }, - "logo_url": "https://upload.wikimedia.org/wikipedia/commons/0/0d/Grandmas_marathon_finishers.png" - }, + "response": {}, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/custom-domains", + "path": "/api/v2/prompts/phone-identifier-challenge/custom-text/en", "body": "", "status": 200, - "response": [], + "response": {}, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/branding/phone/providers", + "path": "/api/v2/prompts/phone-identifier-enrollment/custom-text/en", + "body": "", + "status": 200, + "response": {}, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/prompts/email-identifier-challenge/custom-text/en", + "body": "", + "status": 200, + "response": {}, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/prompts/reset-password/custom-text/en", "body": "", "status": 200, - "response": { - "providers": [] - }, + "response": {}, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts", + "path": "/api/v2/prompts/custom-form/custom-text/en", "body": "", "status": 200, - "response": { - "universal_login_experience": "new", - "identifier_first": true - }, + "response": {}, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/tenants/settings", + "path": "/api/v2/prompts/consent/custom-text/en", "body": "", "status": 200, - "response": { - "allowed_logout_urls": [ - "https://mycompany.org/logoutCallback" - ], - "change_password": { - "enabled": true, - "html": "Change Password\n" - }, - "enabled_locales": [ - "en" - ], - "error_page": { - "html": "Error Page\n", - "show_log_link": false, - "url": "https://mycompany.org/error" - }, - "flags": { - "allow_changing_enable_sso": false, - "allow_legacy_delegation_grant_types": true, - "allow_legacy_ro_grant_types": true, - "change_pwd_flow_v1": false, - "disable_impersonation": true, - "enable_apis_section": false, - "enable_client_connections": false, - "enable_custom_domain_in_emails": false, - "enable_dynamic_client_registration": false, - "enable_legacy_logs_search_v2": false, - "enable_public_signup_user_exists_error": true, - "enable_sso": true, - "new_universal_login_experience_enabled": true, - "universal_login": true, - "use_scope_descriptions_for_consent": false, - "revoke_refresh_token_grant": false, - "disable_clickjack_protection_headers": false, - "enable_pipeline2": false - }, - "friendly_name": "My Test Tenant", - "guardian_mfa_page": { - "enabled": true, - "html": "MFA\n" - }, - "idle_session_lifetime": 1, - "picture_url": "https://upload.wikimedia.org/wikipedia/commons/0/0d/Grandmas_marathon_finishers.png", - "sandbox_version": "12", - "session_lifetime": 3.0166666666666666, - "support_email": "support@mycompany.org", - "support_url": "https://mycompany.org/support", - "universal_login": { - "colors": { - "primary": "#F8F8F2", - "page_background": "#222221" - } - }, - "resource_parameter_profile": "audience", - "session_cookie": { - "mode": "non-persistent" - }, - "sandbox_versions_available": [ - "22", - "18", - "12" - ] - }, + "response": {}, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/custom-text/en", + "path": "/api/v2/prompts/customized-consent/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2181,7 +3423,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login/custom-text/en", + "path": "/api/v2/prompts/logout/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2191,7 +3433,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-password/custom-text/en", + "path": "/api/v2/prompts/mfa-otp/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2201,7 +3443,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-passwordless/custom-text/en", + "path": "/api/v2/prompts/mfa-push/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2211,7 +3453,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-email-verification/custom-text/en", + "path": "/api/v2/prompts/mfa-voice/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2221,7 +3463,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup/custom-text/en", + "path": "/api/v2/prompts/mfa-phone/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2231,7 +3473,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup-id/custom-text/en", + "path": "/api/v2/prompts/mfa-webauthn/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2241,7 +3483,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup-password/custom-text/en", + "path": "/api/v2/prompts/mfa-sms/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2251,7 +3493,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/phone-identifier-enrollment/custom-text/en", + "path": "/api/v2/prompts/mfa-email/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2261,7 +3503,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/email-identifier-challenge/custom-text/en", + "path": "/api/v2/prompts/mfa-recovery-code/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2271,7 +3513,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/phone-identifier-challenge/custom-text/en", + "path": "/api/v2/prompts/status/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2281,7 +3523,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/custom-form/custom-text/en", + "path": "/api/v2/prompts/mfa/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2291,7 +3533,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/reset-password/custom-text/en", + "path": "/api/v2/prompts/device-flow/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2301,7 +3543,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/consent/custom-text/en", + "path": "/api/v2/prompts/email-verification/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2311,7 +3553,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/customized-consent/custom-text/en", + "path": "/api/v2/prompts/email-otp-challenge/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2321,7 +3563,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/logout/custom-text/en", + "path": "/api/v2/prompts/organizations/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2331,7 +3573,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-voice/custom-text/en", + "path": "/api/v2/prompts/invitation/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2341,7 +3583,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-otp/custom-text/en", + "path": "/api/v2/prompts/common/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2351,7 +3593,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-push/custom-text/en", + "path": "/api/v2/prompts/captcha/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2361,7 +3603,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-phone/custom-text/en", + "path": "/api/v2/prompts/passkeys/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2371,7 +3613,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-sms/custom-text/en", + "path": "/api/v2/prompts/brute-force-protection/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2381,7 +3623,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-email/custom-text/en", + "path": "/api/v2/prompts/login-password/partials", "body": "", "status": 200, "response": {}, @@ -2391,7 +3633,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-recovery-code/custom-text/en", + "path": "/api/v2/prompts/login/partials", "body": "", "status": 200, "response": {}, @@ -2401,7 +3643,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-webauthn/custom-text/en", + "path": "/api/v2/prompts/login-id/partials", "body": "", "status": 200, "response": {}, @@ -2411,7 +3653,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa/custom-text/en", + "path": "/api/v2/prompts/login-passwordless/partials", "body": "", "status": 200, "response": {}, @@ -2421,7 +3663,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/device-flow/custom-text/en", + "path": "/api/v2/prompts/signup/partials", "body": "", "status": 200, "response": {}, @@ -2431,7 +3673,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/status/custom-text/en", + "path": "/api/v2/prompts/signup-id/partials", "body": "", "status": 200, "response": {}, @@ -2441,7 +3683,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/email-verification/custom-text/en", + "path": "/api/v2/prompts/signup-password/partials", "body": "", "status": 200, "response": {}, @@ -2451,152 +3693,433 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/email-otp-challenge/custom-text/en", + "path": "/api/v2/actions/actions?page=0&per_page=100", "body": "", "status": 200, - "response": {}, + "response": { + "actions": [ + { + "id": "4273221d-f20e-44e6-aa9d-d45702782e4e", + "name": "My Custom Action", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ], + "created_at": "2025-12-05T14:18:53.100690661Z", + "updated_at": "2025-12-05T14:24:28.025061142Z", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "dependencies": [], + "runtime": "node18", + "status": "built", + "secrets": [], + "current_version": { + "id": "f2b70924-49de-4b47-acbc-96602dd5e836", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "runtime": "node18", + "status": "BUILT", + "number": 2, + "build_time": "2025-12-05T14:24:28.911082680Z", + "created_at": "2025-12-05T14:24:28.826233092Z", + "updated_at": "2025-12-05T14:24:28.912158390Z" + }, + "deployed_version": { + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "dependencies": [], + "id": "f2b70924-49de-4b47-acbc-96602dd5e836", + "deployed": true, + "number": 2, + "built_at": "2025-12-05T14:24:28.911082680Z", + "secrets": [], + "status": "built", + "created_at": "2025-12-05T14:24:28.826233092Z", + "updated_at": "2025-12-05T14:24:28.912158390Z", + "runtime": "node18", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ] + }, + "all_changes_deployed": true + } + ], + "total": 1, + "per_page": 100 + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/organizations/custom-text/en", + "path": "/api/v2/actions/triggers", "body": "", "status": 200, - "response": {}, + "response": { + "triggers": [ + { + "id": "post-login", + "version": "v2", + "status": "DEPRECATED", + "runtimes": [ + "node18" + ], + "default_runtime": "node16", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, + { + "id": "post-login", + "version": "v3", + "status": "CURRENT", + "runtimes": [ + "node12", + "node18-actions", + "node22" + ], + "default_runtime": "node22", + "binding_policy": "trigger-bound", + "compatible_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ] + }, + { + "id": "credentials-exchange", + "version": "v2", + "status": "CURRENT", + "runtimes": [ + "node12", + "node18-actions", + "node22" + ], + "default_runtime": "node22", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, + { + "id": "pre-user-registration", + "version": "v2", + "status": "CURRENT", + "runtimes": [ + "node18-actions", + "node22" + ], + "default_runtime": "node22", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, + { + "id": "post-user-registration", + "version": "v2", + "status": "CURRENT", + "runtimes": [ + "node12", + "node18-actions", + "node22" + ], + "default_runtime": "node22", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, + { + "id": "post-change-password", + "version": "v2", + "status": "CURRENT", + "runtimes": [ + "node12", + "node18-actions", + "node22" + ], + "default_runtime": "node22", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, + { + "id": "send-phone-message", + "version": "v1", + "status": "DEPRECATED", + "runtimes": [ + "node12" + ], + "default_runtime": "node12", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, + { + "id": "send-phone-message", + "version": "v2", + "status": "CURRENT", + "runtimes": [ + "node18-actions", + "node22" + ], + "default_runtime": "node22", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, + { + "id": "password-reset-post-challenge", + "version": "v1", + "status": "CURRENT", + "runtimes": [ + "node18-actions", + "node22" + ], + "default_runtime": "node22", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, + { + "id": "login-post-identifier", + "version": "v1", + "status": "CURRENT", + "runtimes": [ + "node18", + "node22" + ], + "default_runtime": "node22", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, + { + "id": "custom-phone-provider", + "version": "v1", + "status": "CURRENT", + "runtimes": [ + "node18-actions", + "node22" + ], + "default_runtime": "node22", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, + { + "id": "custom-email-provider", + "version": "v1", + "status": "CURRENT", + "runtimes": [ + "node18-actions", + "node22" + ], + "default_runtime": "node22", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, + { + "id": "custom-token-exchange", + "version": "v1", + "status": "CURRENT", + "runtimes": [ + "node18", + "node22" + ], + "default_runtime": "node22", + "binding_policy": "entity-bound", + "compatible_triggers": [] + }, + { + "id": "event-stream", + "version": "v1", + "status": "CURRENT", + "runtimes": [ + "node22" + ], + "default_runtime": "node22", + "binding_policy": "entity-bound", + "compatible_triggers": [] + } + ] + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/common/custom-text/en", + "path": "/api/v2/actions/triggers/post-login/bindings?page=0&per_page=50", "body": "", "status": 200, - "response": {}, + "response": { + "bindings": [], + "per_page": 50 + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/invitation/custom-text/en", + "path": "/api/v2/actions/triggers/credentials-exchange/bindings?page=0&per_page=50", "body": "", "status": 200, - "response": {}, + "response": { + "bindings": [], + "per_page": 50 + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/captcha/custom-text/en", + "path": "/api/v2/actions/triggers/pre-user-registration/bindings?page=0&per_page=50", "body": "", "status": 200, - "response": {}, + "response": { + "bindings": [], + "per_page": 50 + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/brute-force-protection/custom-text/en", + "path": "/api/v2/actions/triggers/post-user-registration/bindings?page=0&per_page=50", "body": "", "status": 200, - "response": {}, + "response": { + "bindings": [], + "per_page": 50 + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/passkeys/custom-text/en", + "path": "/api/v2/actions/triggers/post-change-password/bindings?page=0&per_page=50", "body": "", "status": 200, - "response": {}, + "response": { + "bindings": [], + "per_page": 50 + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/partials", + "path": "/api/v2/actions/triggers/send-phone-message/bindings?page=0&per_page=50", "body": "", "status": 200, - "response": {}, + "response": { + "bindings": [], + "per_page": 50 + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login/partials", + "path": "/api/v2/actions/triggers/password-reset-post-challenge/bindings?page=0&per_page=50", "body": "", "status": 200, - "response": {}, + "response": { + "bindings": [], + "per_page": 50 + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-password/partials", + "path": "/api/v2/actions/triggers/login-post-identifier/bindings?page=0&per_page=50", "body": "", "status": 200, - "response": {}, + "response": { + "bindings": [], + "per_page": 50 + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup/partials", + "path": "/api/v2/actions/triggers/custom-phone-provider/bindings?page=0&per_page=50", "body": "", "status": 200, - "response": {}, + "response": { + "bindings": [], + "per_page": 50 + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-passwordless/partials", + "path": "/api/v2/actions/triggers/custom-email-provider/bindings?page=0&per_page=50", "body": "", "status": 200, - "response": {}, + "response": { + "bindings": [], + "per_page": 50 + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup-id/partials", + "path": "/api/v2/actions/triggers/custom-token-exchange/bindings?page=0&per_page=50", "body": "", "status": 200, - "response": {}, + "response": { + "bindings": [], + "per_page": 50 + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup-password/partials", + "path": "/api/v2/actions/triggers/event-stream/bindings?page=0&per_page=50", "body": "", "status": 200, - "response": {}, + "response": { + "bindings": [], + "per_page": 50 + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/actions?page=0&per_page=100", + "path": "/api/v2/organizations?take=50", "body": "", "status": 200, "response": { - "actions": [], - "per_page": 100 + "organizations": [ + { + "id": "org_fIRF1it8cTOyf2yS", + "name": "org1", + "display_name": "Organization", + "branding": { + "colors": { + "page_background": "#fff5f5", + "primary": "#57ddff" + } + } + }, + { + "id": "org_hWOYWXtnxIpJ0MX3", + "name": "org2", + "display_name": "Organization2" + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -2604,211 +4127,519 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers", + "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { - "triggers": [ + "total": 10, + "start": 0, + "limit": 100, + "clients": [ { - "id": "post-login", - "version": "v3", - "status": "CURRENT", - "runtimes": [ - "node18-actions", - "node22" + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Deploy CLI", + "is_first_party": true, + "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "cross_origin_authentication": true, + "allowed_clients": [], + "callbacks": [], + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials", + "implicit", + "authorization_code", + "refresh_token" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Default App", + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "default_runtime": "node22", - "binding_policy": "trigger-bound", - "compatible_triggers": [ + "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ { - "id": "post-login", - "version": "v2" + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" } - ] + ], + "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true }, { - "id": "post-login", - "version": "v2", - "status": "DEPRECATED", - "runtimes": [ - "node18" + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "default_runtime": "node16", - "binding_policy": "trigger-bound", - "compatible_triggers": [] + "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true }, { - "id": "credentials-exchange", - "version": "v1", - "status": "DEPRECATED", - "runtimes": [ - "node12" + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "default_runtime": "node12", - "binding_policy": "trigger-bound", - "compatible_triggers": [] + "allowed_origins": [], + "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "regular_web", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "web_origins": [], + "custom_login_page_on": true }, { - "id": "credentials-exchange", - "version": "v2", - "status": "CURRENT", - "runtimes": [ - "node18-actions", - "node22" + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Terraform Provider", + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "default_runtime": "node22", - "binding_policy": "trigger-bound", - "compatible_triggers": [] + "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true }, { - "id": "pre-user-registration", - "version": "v2", - "status": "CURRENT", - "runtimes": [ - "node18-actions", - "node22" + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "The Default App", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso": false, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "default_runtime": "node22", - "binding_policy": "trigger-bound", - "compatible_triggers": [] - }, - { - "id": "post-user-registration", - "version": "v2", - "status": "CURRENT", - "runtimes": [ - "node12", - "node18-actions", - "node22" + "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" ], - "default_runtime": "node22", - "binding_policy": "trigger-bound", - "compatible_triggers": [] + "custom_login_page_on": true }, { - "id": "post-change-password", - "version": "v2", - "status": "CURRENT", - "runtimes": [ - "node12", - "node18-actions", - "node22" + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" ], - "default_runtime": "node22", - "binding_policy": "trigger-bound", - "compatible_triggers": [] - }, - { - "id": "send-phone-message", - "version": "v2", - "status": "CURRENT", - "runtimes": [ - "node12", - "node18-actions", - "node22" + "callbacks": [ + "http://localhost:3000" ], - "default_runtime": "node22", - "binding_policy": "trigger-bound", - "compatible_triggers": [] - }, - { - "id": "password-reset-post-challenge", - "version": "v1", - "status": "CURRENT", - "runtimes": [ - "node18-actions", - "node22" + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "default_runtime": "node22", - "binding_policy": "trigger-bound", - "compatible_triggers": [] - }, - { - "id": "login-post-identifier", - "version": "v1", - "status": "CURRENT", - "runtimes": [ - "node18", - "node22" + "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "none", + "app_type": "spa", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token" ], - "default_runtime": "node22", - "binding_policy": "trigger-bound", - "compatible_triggers": [] - }, - { - "id": "custom-phone-provider", - "version": "v1", - "status": "CURRENT", - "runtimes": [ - "node18-actions", - "node22" + "web_origins": [ + "http://localhost:3000" ], - "default_runtime": "node22", - "binding_policy": "trigger-bound", - "compatible_triggers": [] + "custom_login_page_on": true }, { - "id": "custom-email-provider", - "version": "v1", - "status": "CURRENT", - "runtimes": [ - "node18-actions", - "node22" + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "default_runtime": "node22", - "binding_policy": "trigger-bound", - "compatible_triggers": [] - }, - { - "id": "custom-token-exchange", - "version": "v1", - "status": "CURRENT", - "runtimes": [ - "node18", - "node22" + "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" ], - "default_runtime": "node22", - "binding_policy": "entity-bound", - "compatible_triggers": [] + "custom_login_page_on": true }, { - "id": "event-stream", - "version": "v1", - "status": "CURRENT", - "runtimes": [ - "node22" + "tenant": "auth0-deploy-cli-e2e", + "global": true, + "callbacks": [], + "is_first_party": true, + "name": "All Applications", + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" ], - "default_runtime": "node22", - "binding_policy": "entity-bound", - "compatible_triggers": [] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/actions/triggers/post-login/bindings?page=0&per_page=50", - "body": "", - "status": 200, - "response": { - "bindings": [], - "per_page": 50 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/actions/triggers/credentials-exchange/bindings?page=0&per_page=50", - "body": "", - "status": 200, - "response": { - "bindings": [], - "per_page": 50 + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -2816,12 +4647,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/pre-user-registration/bindings?page=0&per_page=50", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "bindings": [], - "per_page": 50 + "enabled_connections": [], + "start": 0, + "limit": 0, + "total": 0 }, "rawHeaders": [], "responseIsBinary": false @@ -2829,12 +4662,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/post-user-registration/bindings?page=0&per_page=50", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "bindings": [], - "per_page": 50 + "enabled_connections": [], + "start": 0, + "limit": 0, + "total": 0 }, "rawHeaders": [], "responseIsBinary": false @@ -2842,12 +4677,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/post-change-password/bindings?page=0&per_page=50", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "bindings": [], - "per_page": 50 + "client_grants": [], + "start": 0, + "limit": 50, + "total": 0 }, "rawHeaders": [], "responseIsBinary": false @@ -2855,12 +4692,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/send-phone-message/bindings?page=0&per_page=50", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "bindings": [], - "per_page": 50 + "client_grants": [], + "start": 0, + "limit": 50, + "total": 0 }, "rawHeaders": [], "responseIsBinary": false @@ -2868,12 +4707,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/password-reset-post-challenge/bindings?page=0&per_page=50", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/discovery-domains?take=50", "body": "", "status": 200, "response": { - "bindings": [], - "per_page": 50 + "domains": [] }, "rawHeaders": [], "responseIsBinary": false @@ -2881,12 +4719,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/login-post-identifier/bindings?page=0&per_page=50", + "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/discovery-domains?take=50", "body": "", "status": 200, "response": { - "bindings": [], - "per_page": 50 + "domains": [] }, "rawHeaders": [], "responseIsBinary": false @@ -2894,12 +4731,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/custom-phone-provider/bindings?page=0&per_page=50", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "bindings": [], - "per_page": 50 + "enabled_connections": [], + "start": 0, + "limit": 0, + "total": 0 }, "rawHeaders": [], "responseIsBinary": false @@ -2907,12 +4746,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/custom-email-provider/bindings?page=0&per_page=50", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "bindings": [], - "per_page": 50 + "enabled_connections": [], + "start": 0, + "limit": 0, + "total": 0 }, "rawHeaders": [], "responseIsBinary": false @@ -2920,12 +4761,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/custom-token-exchange/bindings?page=0&per_page=50", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "bindings": [], - "per_page": 50 + "client_grants": [], + "start": 0, + "limit": 50, + "total": 0 }, "rawHeaders": [], "responseIsBinary": false @@ -2933,12 +4776,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/event-stream/bindings?page=0&per_page=50", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "bindings": [], - "per_page": 50 + "client_grants": [], + "start": 0, + "limit": 50, + "total": 0 }, "rawHeaders": [], "responseIsBinary": false @@ -2946,11 +4791,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations?take=50", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/discovery-domains?take=50", "body": "", "status": 200, "response": { - "organizations": [] + "domains": [] }, "rawHeaders": [], "responseIsBinary": false @@ -2958,150 +4803,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", + "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/discovery-domains?take=50", "body": "", "status": 200, "response": { - "total": 3, - "start": 0, - "limit": 100, - "clients": [ - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", - "is_first_party": true, - "oidc_conformant": true, - "sso_disabled": false, - "cross_origin_auth": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "cross_origin_authentication": true, - "allowed_clients": [], - "callbacks": [], - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials", - "implicit", - "authorization_code", - "refresh_token" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", - "callbacks": [], - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "VTTBLf4Y7vX3tpTVj0TuGPLPXGsAMUrj", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], - "is_first_party": true, - "name": "All Applications", - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true - } - ] + "domains": [] }, "rawHeaders": [], "responseIsBinary": false @@ -3175,6 +4881,23 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/attack-protection/bot-detection", + "body": "", + "status": 200, + "response": { + "challenge_password_policy": "never", + "challenge_passwordless_policy": "never", + "challenge_password_reset_policy": "never", + "allowlist": [], + "bot_detection_level": "medium", + "monitoring_mode_enabled": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -3210,30 +4933,75 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/attack-protection/bot-detection", - "body": "", - "status": 200, - "response": { - "challenge_password_policy": "never", - "challenge_passwordless_policy": "never", - "challenge_password_reset_policy": "never", - "allowlist": [], - "bot_detection_level": "medium", - "monitoring_mode_enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", "path": "/api/v2/log-streams", "body": "", "status": 200, - "response": [], + "response": [ + { + "id": "lst_0000000000025431", + "name": "Suspended DD Log Stream", + "type": "datadog", + "status": "active", + "sink": { + "datadogApiKey": "##LOGSTREAMS_DATADOG_SECRET##", + "datadogRegion": "us" + }, + "isPriority": false + }, + { + "id": "lst_0000000000025432", + "name": "Amazon EventBridge", + "type": "eventbridge", + "status": "active", + "sink": { + "awsAccountId": "123456789012", + "awsRegion": "us-east-2", + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-84b807b2-8a87-4d4b-87eb-ff1b56370b3a/auth0.logs" + }, + "filters": [ + { + "type": "category", + "name": "auth.login.success" + }, + { + "type": "category", + "name": "auth.login.notification" + }, + { + "type": "category", + "name": "auth.login.fail" + }, + { + "type": "category", + "name": "auth.signup.success" + }, + { + "type": "category", + "name": "auth.logout.success" + }, + { + "type": "category", + "name": "auth.logout.fail" + }, + { + "type": "category", + "name": "auth.silent_auth.fail" + }, + { + "type": "category", + "name": "auth.silent_auth.success" + }, + { + "type": "category", + "name": "auth.token_exchange.fail" + } + ], + "isPriority": false + } + ], "rawHeaders": [], "responseIsBinary": false }, @@ -3278,7 +5046,7 @@ "name": "Blank-form", "flow_count": 0, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-05T09:38:30.169Z" + "updated_at": "2025-12-05T14:24:57.289Z" } ] }, @@ -3364,7 +5132,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-05T09:38:30.169Z" + "updated_at": "2025-12-05T14:24:57.289Z" }, "rawHeaders": [], "responseIsBinary": false @@ -3473,7 +5241,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-05T07:04:31.162Z", + "updated_at": "2025-12-05T14:24:44.076Z", "branding": { "colors": { "primary": "#19aecc" @@ -3525,7 +5293,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-05T07:04:15.756Z", + "updated_at": "2025-12-05T14:24:30.497Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] diff --git a/test/tools/auth0/handlers/phoneTemplates.test.ts b/test/tools/auth0/handlers/phoneTemplates.test.ts new file mode 100644 index 000000000..b9345296d --- /dev/null +++ b/test/tools/auth0/handlers/phoneTemplates.test.ts @@ -0,0 +1,313 @@ +import { expect } from 'chai'; + +import phoneTemplatesHandler from '../../../../src/tools/auth0/handlers/phoneTemplates'; + +const mockTemplates = { + templates: [ + { + id: 'pntm_1234567890', + type: 'otp_verify', + disabled: false, + content: { + syntax: 'liquid', + from: '+15551234567', + body: { + text: 'Your verification code is ##OTP_VERIFICATION_TEXT## {{ code }}', + voice: 'Your verification code is ##OTP_VERIFICATION_TEXT## {{ code }}', + }, + }, + }, + { + id: 'pntm_0987654321', + type: 'otp_enroll', + disabled: false, + content: { + syntax: 'liquid', + from: '+15551234567', + body: { + text: 'Your enrollment code is ##OTP_ENROLL_TEXT## {{ code }}', + voice: 'Your enrollment code is ##OTP_ENROLL_TEXT## {{ code }}', + }, + }, + }, + ], +}; + +const mockPool = { + addEachTask: function (data) { + return { + promise: () => Promise.all(data.data.map(data.generator)), + }; + }, +}; + +describe('#phoneTemplates handler', () => { + describe('#phoneTemplates getType', () => { + it('should get phoneTemplates', async () => { + const auth0 = { + branding: { + phone: { + templates: { + list: () => Promise.resolve(mockTemplates), + }, + }, + }, + }; + + const handler = new phoneTemplatesHandler({ client: auth0 }); + const data = await handler.getType(); + + expect(data).to.deep.equal(mockTemplates.templates); + }); + + it('should return empty array if there are no phone templates', async () => { + const auth0 = { + branding: { + phone: { + templates: { + list: () => Promise.resolve({ templates: [] }), + }, + }, + }, + }; + + const handler = new phoneTemplatesHandler({ client: auth0 }); + const data = await handler.getType(); + + expect(data).to.deep.equal([]); + }); + + it('should return empty array if templates is undefined', async () => { + const auth0 = { + branding: { + phone: { + templates: { + list: () => Promise.resolve({}), + }, + }, + }, + }; + + const handler = new phoneTemplatesHandler({ client: auth0 }); + const data = await handler.getType(); + + expect(data).to.deep.equal([]); + }); + + it('should fail for unexpected api errors', async () => { + const auth0 = { + branding: { + phone: { + templates: { + list: () => Promise.reject(new Error('Unexpected API error')), + }, + }, + }, + }; + + const handler = new phoneTemplatesHandler({ client: auth0 }); + + try { + await handler.getType(); + } catch (error) { + expect(error).to.be.an('error'); + expect(error.message).to.equal('Unexpected API error'); + } + }); + }); + + describe('#phoneTemplates processChanges', () => { + it('should create phone template', async () => { + let createCalled = false; + const auth0 = { + branding: { + phone: { + templates: { + list: () => Promise.resolve({ templates: [] }), + create: (data) => { + createCalled = true; + expect(data.type).to.equal('otp_verify'); + expect(data.disabled).to.equal(false); + return Promise.resolve({ id: 'pntm_new', ...data }); + }, + }, + }, + }, + pool: mockPool, + }; + + const handler = new phoneTemplatesHandler({ client: auth0, config: () => false }); + const stageFn = Object.getPrototypeOf(handler).processChanges; + + const newTemplate = { + type: 'otp_verify', + disabled: false, + content: { + syntax: 'liquid', + from: '+15551234567', + body: { + text: 'Your verification code is ##OTP_VERIFICATION_TEXT## {{ code }}', + }, + }, + }; + + await stageFn.apply(handler, [{ phoneTemplates: [newTemplate] }]); + expect(createCalled).to.equal(true); + }); + + it('should update phone template', async () => { + let updateCalled = false; + const existingTemplate = { + id: 'pntm_1234567890', + type: 'otp_verify', + disabled: false, + content: { + syntax: 'liquid', + from: '+15551234567', + body: { + text: 'Your verification code is ##OTP_VERIFICATION_TEXT## {{ code }}', + }, + }, + }; + + const auth0 = { + branding: { + phone: { + templates: { + list: () => Promise.resolve({ templates: [existingTemplate] }), + update: (id, updatePayload) => { + updateCalled = true; + expect(id).to.equal('pntm_1234567890'); + expect(updatePayload.content.body.text).to.equal( + 'Your verification code is ##OTP_VERIFICATION_TEXT## {{ code }}' + ); + expect(updatePayload.disabled).to.equal(true); + return Promise.resolve({ id, ...updatePayload }); + }, + }, + }, + }, + pool: mockPool, + }; + + const handler = new phoneTemplatesHandler({ client: auth0, config: () => false }); + const stageFn = Object.getPrototypeOf(handler).processChanges; + + const updatedTemplate = { + type: 'otp_verify', + disabled: true, + content: { + syntax: 'liquid', + from: '+15551234567', + body: { + text: 'Your verification code is ##OTP_VERIFICATION_TEXT## {{ code }}', + }, + }, + }; + + await stageFn.apply(handler, [{ phoneTemplates: [updatedTemplate] }]); + expect(updateCalled).to.equal(true); + }); + + it('should delete phone template when AUTH0_ALLOW_DELETE is true', async () => { + let deleteCalled = false; + const AUTH0_ALLOW_DELETE = true; + + const existingTemplate = { + id: 'pntm_1234567890', + type: 'otp_verify', + disabled: false, + content: { + syntax: 'liquid', + from: '+15551234567', + body: { + text: 'Some text', + }, + }, + }; + + const auth0 = { + branding: { + phone: { + templates: { + list: () => Promise.resolve({ templates: [existingTemplate] }), + delete: (id) => { + deleteCalled = true; + expect(id).to.equal('pntm_1234567890'); + return Promise.resolve(); + }, + }, + }, + }, + pool: mockPool, + }; + + const handler = new phoneTemplatesHandler({ + client: auth0, + config: () => AUTH0_ALLOW_DELETE, + }); + const stageFn = Object.getPrototypeOf(handler).processChanges; + + await stageFn.apply(handler, [{ phoneTemplates: [] }]); + expect(deleteCalled).to.equal(true); + }); + + it('should not delete phone template when AUTH0_ALLOW_DELETE is false', async () => { + const AUTH0_ALLOW_DELETE = false; + + const existingTemplate = { + id: 'pntm_1234567890', + type: 'otp_verify', + disabled: false, + content: { + syntax: 'liquid', + from: '+15551234567', + body: { + text: 'Some text', + }, + }, + }; + + const auth0 = { + branding: { + phone: { + templates: { + list: () => Promise.resolve({ templates: [existingTemplate] }), + delete: () => { + throw new Error('was not expecting delete to be called'); + }, + }, + }, + }, + pool: mockPool, + }; + + const handler = new phoneTemplatesHandler({ + client: auth0, + config: () => AUTH0_ALLOW_DELETE, + }); + const stageFn = Object.getPrototypeOf(handler).processChanges; + + await stageFn.apply(handler, [{ phoneTemplates: [] }]); + }); + + it('should do nothing when phoneTemplates is not provided', async () => { + const auth0 = { + branding: { + phone: { + templates: { + list: () => { + throw new Error('was not expecting list to be called'); + }, + }, + }, + }, + }; + + const handler = new phoneTemplatesHandler({ client: auth0 }); + const stageFn = Object.getPrototypeOf(handler).processChanges; + + await stageFn.apply(handler, [{}]); + }); + }); +}); diff --git a/test/utils.js b/test/utils.js index 7e4b0198c..f951b8405 100644 --- a/test/utils.js +++ b/test/utils.js @@ -165,6 +165,12 @@ export function mockMgmtClient() { update: (_id, data) => Promise.resolve(data), delete: (_id) => Promise.resolve(), }, + templates: { + list: () => Promise.resolve({ templates: [] }), + create: (data) => Promise.resolve(data), + update: (_id, data) => Promise.resolve(data), + delete: (_id) => Promise.resolve(), + }, }, }, logStreams: { list: () => Promise.resolve([]) }, From b0db5a2a21db09bbb1da50e5b4758cae2e87b39b Mon Sep 17 00:00:00 2001 From: Ramya Anusri <62586490+ramya18101@users.noreply.github.com> Date: Tue, 16 Dec 2025 11:05:54 +0530 Subject: [PATCH 5/7] feat: support for custom token exchange (#1232) * Add token exchange profiles support and update dependencies * update e2e test recording * Update auth0 package resolution URL in package-lock.json * Update examples and update ACTIONS_TRIGGERS --- examples/directory/README.md | 3 + examples/directory/clients/My SPA.json | 7 +- .../Custom Authentication Profile.json | 6 + examples/yaml/tenant.yaml | 17 + package-lock.json | 8 +- package.json | 2 +- src/context/directory/handlers/index.ts | 2 + .../handlers/tokenExchangeProfiles.ts | 51 + src/context/yaml/handlers/index.ts | 2 + .../yaml/handlers/tokenExchangeProfiles.ts | 36 + src/tools/auth0/handlers/clients.ts | 14 + src/tools/auth0/handlers/index.ts | 2 + .../auth0/handlers/tokenExchangeProfiles.ts | 280 + src/tools/constants.ts | 2 + src/types.ts | 5 +- .../directory/tokenExchangeProfiles.test.ts | 148 + test/context/yaml/clients.test.js | 42 + test/context/yaml/context.test.js | 3 + .../yaml/tokenExchangeProfiles.test.ts | 142 + ...sources-if-AUTH0_ALLOW_DELETE-is-true.json | 3393 ++--- ...ources-if-AUTH0_ALLOW_DELETE-is-false.json | 10450 ++++++-------- ...-and-deploy-without-throwing-an-error.json | 11919 +++------------- ...should-dump-without-throwing-an-error.json | 2886 +--- .../handlers/tokenExchangeProfiles.tests.js | 694 + test/utils.js | 3 + 25 files changed, 10851 insertions(+), 19266 deletions(-) create mode 100644 examples/directory/token-exchange-profiles/Custom Authentication Profile.json create mode 100644 src/context/directory/handlers/tokenExchangeProfiles.ts create mode 100644 src/context/yaml/handlers/tokenExchangeProfiles.ts create mode 100644 src/tools/auth0/handlers/tokenExchangeProfiles.ts create mode 100644 test/context/directory/tokenExchangeProfiles.test.ts create mode 100644 test/context/yaml/tokenExchangeProfiles.test.ts create mode 100644 test/tools/auth0/handlers/tokenExchangeProfiles.tests.js diff --git a/examples/directory/README.md b/examples/directory/README.md index 9f8149bc7..ac239a5fc 100644 --- a/examples/directory/README.md +++ b/examples/directory/README.md @@ -40,6 +40,9 @@ repository => resource-servers resource_server1.json resource_server2.json + token-exchange-profiles + profile1.json + profile2.json guardian factors sms.json diff --git a/examples/directory/clients/My SPA.json b/examples/directory/clients/My SPA.json index cb4b1474a..2fe8d68ad 100644 --- a/examples/directory/clients/My SPA.json +++ b/examples/directory/clients/My SPA.json @@ -36,5 +36,10 @@ "token_endpoint_auth_method": "none", "web_origins": [ "https://##ENV##.myapp.com" - ] + ], + "token_exchange": { + "allow_any_profile_of_type": [ + "custom_authentication" + ] + } } diff --git a/examples/directory/token-exchange-profiles/Custom Authentication Profile.json b/examples/directory/token-exchange-profiles/Custom Authentication Profile.json new file mode 100644 index 000000000..2daea0acb --- /dev/null +++ b/examples/directory/token-exchange-profiles/Custom Authentication Profile.json @@ -0,0 +1,6 @@ +{ + "name": "Custom Authentication Profile", + "type": "custom_authentication", + "subject_token_type": "urn:ietf:params:oauth:token-type:custom", + "action": "custom-token-exchange-action" +} diff --git a/examples/yaml/tenant.yaml b/examples/yaml/tenant.yaml index 011b3ad19..2cb4b84e3 100644 --- a/examples/yaml/tenant.yaml +++ b/examples/yaml/tenant.yaml @@ -42,6 +42,17 @@ clients: name: "My Resource Server Client" app_type: "resource_server" resource_server_identifier: "https://##ENV##.myapp.com/api/v1" + - + name: "My Token Exchange App" + app_type: "regular_web" + grant_types: + - "authorization_code" + - "refresh_token" + - "client_credentials" + - "urn:auth0:params:oauth:grant-type:token-exchange:federated-connection-access-token" + token_exchange: + allow_any_profile_of_type: + - "custom_authentication" databases: - name: "users" @@ -99,6 +110,12 @@ resourceServers: # client_id: "if linked to a resource server client (readonly)" # Add other resource server settings (https://auth0.com/docs/api/management/v2#!/Resource_Servers/post_resource_servers) +tokenExchangeProfiles: + - name: "Custom Authentication Profile" + type: "custom_authentication" + subject_token_type: "urn:ietf:params:oauth:token-type:custom" + action: "custom-token-exchange-action" + phoneProviders: - name: twilio configuration: diff --git a/package-lock.json b/package-lock.json index 5c0a51343..1e54dcfc0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "license": "MIT", "dependencies": { "ajv": "^6.12.6", - "auth0": "^5.1.0", + "auth0": "^5.2.0", "dot-prop": "^5.3.0", "fs-extra": "^10.1.0", "js-yaml": "^4.1.1", @@ -1460,9 +1460,9 @@ } }, "node_modules/auth0": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/auth0/-/auth0-5.1.0.tgz", - "integrity": "sha512-khNFOffqekb7Anypp0DHRPjQDxdwc1TDLxIdSzB2Sh+gy9c88euzy2MdNcAhpdkE85E/oQgj2bNftj0OE1SX5Q==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/auth0/-/auth0-5.2.0.tgz", + "integrity": "sha512-eRtzyldEhXC1g9quWI8daG/j2OcXFsjgkT+zi3gqpe3SOwVNkWyvzaDAHAYWD2Z1ARTNXxezoXJiWNxwfHRMhw==", "license": "MIT", "dependencies": { "auth0-legacy": "npm:auth0@^4.27.0", diff --git a/package.json b/package.json index edf6d54d7..7582fbd9f 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "homepage": "https://github.com/auth0/auth0-deploy-cli#readme", "dependencies": { "ajv": "^6.12.6", - "auth0": "^5.1.0", + "auth0": "^5.2.0", "dot-prop": "^5.3.0", "fs-extra": "^10.1.0", "js-yaml": "^4.1.1", diff --git a/src/context/directory/handlers/index.ts b/src/context/directory/handlers/index.ts index 366d83709..24bc6298e 100644 --- a/src/context/directory/handlers/index.ts +++ b/src/context/directory/handlers/index.ts @@ -33,6 +33,7 @@ import flows from './flows'; import flowVaultConnections from './flowVaultConnections'; import networkACLs from './networkACLs'; import userAttributeProfiles from './userAttributeProfiles'; +import tokenExchangeProfiles from './tokenExchangeProfiles'; import DirectoryContext from '..'; import { AssetTypes, Asset } from '../../../types'; @@ -82,6 +83,7 @@ const directoryHandlers: { selfServiceProfiles, networkACLs, userAttributeProfiles, + tokenExchangeProfiles, }; export default directoryHandlers; diff --git a/src/context/directory/handlers/tokenExchangeProfiles.ts b/src/context/directory/handlers/tokenExchangeProfiles.ts new file mode 100644 index 000000000..323161bdc --- /dev/null +++ b/src/context/directory/handlers/tokenExchangeProfiles.ts @@ -0,0 +1,51 @@ +import path from 'path'; +import fs from 'fs-extra'; +import { constants } from '../../../tools'; +import log from '../../../logger'; +import { getFiles, existsMustBeDir, dumpJSON, loadJSON, sanitize } from '../../../utils'; +import { DirectoryHandler } from '.'; +import DirectoryContext from '..'; +import { Asset, ParsedAsset } from '../../../types'; + +type ParsedTokenExchangeProfiles = ParsedAsset<'tokenExchangeProfiles', Asset[]>; + +function parse(context: DirectoryContext): ParsedTokenExchangeProfiles { + const folder = path.join(context.filePath, constants.TOKEN_EXCHANGE_PROFILES_DIRECTORY); + if (!existsMustBeDir(folder)) return { tokenExchangeProfiles: null }; // Skip + + const files = getFiles(folder, ['.json']); + + const profiles = files.map((f) => + loadJSON(f, { + mappings: context.mappings, + disableKeywordReplacement: context.disableKeywordReplacement, + }) + ); + + return { + tokenExchangeProfiles: profiles, + }; +} + +async function dump(context: DirectoryContext) { + const { tokenExchangeProfiles } = context.assets; + + if (!tokenExchangeProfiles || !Array.isArray(tokenExchangeProfiles)) return; // Skip + + const folder = path.join(context.filePath, constants.TOKEN_EXCHANGE_PROFILES_DIRECTORY); + fs.ensureDirSync(folder); + + tokenExchangeProfiles.forEach((profile) => { + const { id, created_at, updated_at, ...profileWithoutMetadata } = profile; + const fileName = path.join(folder, sanitize(`${profile.name}.json`)); + log.info(`Writing ${fileName}`); + dumpJSON(fileName, profileWithoutMetadata); + }); +} + +const handler: DirectoryHandler = { + parse, + dump, +}; + +export default handler; diff --git a/src/context/yaml/handlers/index.ts b/src/context/yaml/handlers/index.ts index f7bbb5765..3df2deccf 100644 --- a/src/context/yaml/handlers/index.ts +++ b/src/context/yaml/handlers/index.ts @@ -33,6 +33,7 @@ import flows from './flows'; import flowVaultConnections from './flowVaultConnections'; import networkACLs from './networkACLs'; import userAttributeProfiles from './userAttributeProfiles'; +import tokenExchangeProfiles from './tokenExchangeProfiles'; import YAMLContext from '..'; import { AssetTypes } from '../../../types'; @@ -80,6 +81,7 @@ const yamlHandlers: { [key in AssetTypes]: YAMLHandler<{ [key: string]: unknown selfServiceProfiles, networkACLs, userAttributeProfiles, + tokenExchangeProfiles, }; export default yamlHandlers; diff --git a/src/context/yaml/handlers/tokenExchangeProfiles.ts b/src/context/yaml/handlers/tokenExchangeProfiles.ts new file mode 100644 index 000000000..b3517c3af --- /dev/null +++ b/src/context/yaml/handlers/tokenExchangeProfiles.ts @@ -0,0 +1,36 @@ +import { YAMLHandler } from '.'; +import YAMLContext from '..'; +import { Asset, ParsedAsset } from '../../../types'; + +type ParsedTokenExchangeProfiles = ParsedAsset<'tokenExchangeProfiles', Asset[]>; + +async function parse(context: YAMLContext): Promise { + const { tokenExchangeProfiles } = context.assets; + + if (!tokenExchangeProfiles) return { tokenExchangeProfiles: null }; + + return { + tokenExchangeProfiles, + }; +} + +async function dump(context: YAMLContext): Promise { + const { tokenExchangeProfiles } = context.assets; + + if (!tokenExchangeProfiles) return { tokenExchangeProfiles: null }; + + return { + tokenExchangeProfiles: tokenExchangeProfiles.map((profile) => { + // Strip server-generated fields + const { id, created_at, updated_at, ...cleanProfile } = profile; + return cleanProfile; + }), + }; +} + +const handler: YAMLHandler = { + parse, + dump, +}; + +export default handler; diff --git a/src/tools/auth0/handlers/clients.ts b/src/tools/auth0/handlers/clients.ts index 197b50ad4..004f3d204 100644 --- a/src/tools/auth0/handlers/clients.ts +++ b/src/tools/auth0/handlers/clients.ts @@ -174,6 +174,20 @@ export const schema = { type: ['boolean', 'null'], description: 'Whether to skip the confirmation prompt for non-verifiable callback URIs', }, + token_exchange: { + type: ['object', 'null'], + description: 'Token exchange configuration for the client', + properties: { + allow_any_profile_of_type: { + type: 'array', + description: 'List of enabled token exchange profile types for this client', + items: { + type: 'string', + enum: ['custom_authentication'], + }, + }, + }, + }, }, required: ['name'], }, diff --git a/src/tools/auth0/handlers/index.ts b/src/tools/auth0/handlers/index.ts index ce9aad752..82a10dda5 100644 --- a/src/tools/auth0/handlers/index.ts +++ b/src/tools/auth0/handlers/index.ts @@ -34,6 +34,7 @@ import * as flowVaultConnections from './flowVaultConnections'; import * as selfServiceProfiles from './selfServiceProfiles'; import * as networkACLs from './networkACLs'; import * as userAttributeProfiles from './userAttributeProfiles'; +import * as tokenExchangeProfiles from './tokenExchangeProfiles'; import { AssetTypes } from '../../../types'; import APIHandler from './default'; @@ -76,6 +77,7 @@ const auth0ApiHandlers: { [key in AssetTypes]: any } = { selfServiceProfiles, networkACLs, userAttributeProfiles, + tokenExchangeProfiles, }; export default auth0ApiHandlers as { diff --git a/src/tools/auth0/handlers/tokenExchangeProfiles.ts b/src/tools/auth0/handlers/tokenExchangeProfiles.ts new file mode 100644 index 000000000..84577b911 --- /dev/null +++ b/src/tools/auth0/handlers/tokenExchangeProfiles.ts @@ -0,0 +1,280 @@ +import { Management } from 'auth0'; +import DefaultHandler, { order } from './default'; +import { Asset, Assets } from '../../../types'; +import { paginate } from '../client'; +import log from '../../../logger'; + +// Define TokenExchangeProfile type +export type TokenExchangeProfile = Management.TokenExchangeProfileResponseContent; + +export const schema = { + type: 'array', + items: { + type: 'object', + properties: { + name: { + type: 'string', + description: 'The name of the token exchange profile', + }, + id: { + type: 'string', + description: 'The unique identifier of the token exchange profile', + }, + subject_token_type: { + type: 'string', + description: 'The URI representing the subject token type', + }, + action: { + type: 'string', + description: 'The name of the action associated with this profile', + }, + type: { + type: 'string', + enum: ['custom_authentication'], + description: 'The type of token exchange profile', + }, + created_at: { + type: 'string', + format: 'date-time', + description: 'The timestamp when the profile was created', + }, + updated_at: { + type: 'string', + format: 'date-time', + description: 'The timestamp when the profile was last updated', + }, + }, + required: ['name', 'subject_token_type', 'action', 'type'], + }, +}; + +export default class TokenExchangeProfilesHandler extends DefaultHandler { + existing: TokenExchangeProfile[]; + + private actions: Asset[] | null; + + constructor(config: DefaultHandler) { + super({ + ...config, + type: 'tokenExchangeProfiles', + id: 'id', + identifiers: ['id', 'name'], + // Only name and subject_token_type can be updated + stripUpdateFields: ['id', 'created_at', 'updated_at', 'action_id', 'type'], + stripCreateFields: ['id', 'created_at', 'updated_at'], + }); + } + + private sanitizeForExport(profile: TokenExchangeProfile, actions: Asset[]): TokenExchangeProfile { + if (profile.action_id) { + const action = actions?.find((a) => a.id === profile.action_id); + if (action) { + const { action_id, ...rest } = profile; + return { ...rest, action: action.name }; + } else { + log.warn( + `Token exchange profile "${profile.name}" references action with ID "${profile.action_id}" which was not found` + ); + } + } + return profile; + } + + private sanitizeForAPI(profile: TokenExchangeProfile, actions: Asset[]): TokenExchangeProfile { + if (profile.action) { + const foundAction = actions?.find((a) => a.name === profile.action); + if (foundAction) { + const { action, ...rest } = profile; + return { ...rest, action_id: foundAction.id }; + } else { + throw new Error( + `Token exchange profile "${profile.name}" references action "${profile.action}" which was not found` + ); + } + } + + if (!profile.action_id) { + throw new Error( + `Token exchange profile "${profile.name}" is missing action reference. ` + + `Expected "action" (name) or "action_id" (ID) field.` + ); + } + + return profile; + } + + async getActions(): Promise { + if (this.actions) return this.actions; + + this.actions = await paginate(this.client.actions.list, { + paginate: true, + }); + + return this.actions; + } + + async getType(): Promise { + if (this.existing) return this.existing; + + try { + // Fetch all token exchange profiles + const profiles = await paginate( + this.client.tokenExchangeProfiles.list, + { + paginate: true, + } + ); + + // Fetch all actions to map action_id to action name + const actions = await this.getActions(); + + // Map action_id to action name for each profile + this.existing = profiles.map((profile) => this.sanitizeForExport(profile, actions)); + + return this.existing; + } catch (err) { + if (err.statusCode === 403) { + log.warn( + 'Token Exchange Profiles feature is not available on this tenant. Please contact Auth0 support to enable this feature.' + ); + return []; + } + throw err; + } + } + + @order('65') + async processChanges(assets: Assets): Promise { + const { tokenExchangeProfiles } = assets; + + // Do nothing if not set + if (!tokenExchangeProfiles) return; + + // Fetch actions to resolve action names to IDs + const actions = await this.getActions(); + + // Map action names to action_ids before processing + const sanitizedProfiles = tokenExchangeProfiles.map((profile) => + this.sanitizeForAPI(profile as TokenExchangeProfile, actions) + ); + + // Create modified assets with sanitized profiles + const modifiedAssets = { + ...assets, + tokenExchangeProfiles: sanitizedProfiles as TokenExchangeProfile[], + }; + + // Calculate changes + const { del, update, create, conflicts } = await this.calcChanges(modifiedAssets); + + log.debug( + `Start processChanges for tokenExchangeProfiles [delete:${del.length}] [update:${update.length}], [create:${create.length}], [conflicts:${conflicts.length}]` + ); + + // Process changes in order: delete, create, update + const changes = [{ del }, { create }, { update }]; + + await Promise.all( + changes.map(async (change) => { + switch (true) { + case change.del && change.del.length > 0: + await this.deleteTokenExchangeProfiles(change.del || []); + break; + case change.create && change.create.length > 0: + await this.createTokenExchangeProfiles(change.create); + break; + case change.update && change.update.length > 0: + if (change.update) await this.updateTokenExchangeProfiles(change.update); + break; + default: + break; + } + }) + ); + } + + async createTokenExchangeProfile(profile: TokenExchangeProfile): Promise { + const { id, created_at, updated_at, ...createParams } = profile; + const created = await this.client.tokenExchangeProfiles.create( + createParams as Management.CreateTokenExchangeProfileRequestContent + ); + return created; + } + + async createTokenExchangeProfiles(creates: TokenExchangeProfile[]): Promise { + await this.client.pool + .addEachTask({ + data: creates || [], + generator: (item: TokenExchangeProfile) => + this.createTokenExchangeProfile(item) + .then((data) => { + this.didCreate(data); + this.created += 1; + }) + .catch((err) => { + throw new Error(`Problem creating ${this.type} ${this.objString(item)}\n${err}`); + }), + }) + .promise(); + } + + async updateTokenExchangeProfile(profile: TokenExchangeProfile): Promise { + const { id, created_at, updated_at, action_id, type, ...updateParams } = profile; + + if (!id) { + throw new Error(`Cannot update token exchange profile "${profile.name}" - missing id`); + } + + await this.client.tokenExchangeProfiles.update(id, updateParams); + } + + async updateTokenExchangeProfiles(updates: TokenExchangeProfile[]): Promise { + await this.client.pool + .addEachTask({ + data: updates || [], + generator: (item: TokenExchangeProfile) => + this.updateTokenExchangeProfile(item) + .then(() => { + this.didUpdate(item); + this.updated += 1; + }) + .catch((err) => { + throw new Error(`Problem updating ${this.type} ${this.objString(item)}\n${err}`); + }), + }) + .promise(); + } + + async deleteTokenExchangeProfile(profile: TokenExchangeProfile): Promise { + if (!profile.id) { + throw new Error(`Cannot delete token exchange profile "${profile.name}" - missing id`); + } + + await this.client.tokenExchangeProfiles.delete(profile.id); + } + + async deleteTokenExchangeProfiles(data: TokenExchangeProfile[]): Promise { + if ( + this.config('AUTH0_ALLOW_DELETE') === 'true' || + this.config('AUTH0_ALLOW_DELETE') === true + ) { + await this.client.pool + .addEachTask({ + data: data || [], + generator: (item: TokenExchangeProfile) => + this.deleteTokenExchangeProfile(item) + .then(() => { + this.didDelete(item); + this.deleted += 1; + }) + .catch((err) => { + throw new Error(`Problem deleting ${this.type} ${this.objString(item)}\n${err}`); + }), + }) + .promise(); + } else { + log.warn(`Detected the following tokenExchangeProfile should be deleted. Doing so may be destructive.\nYou can enable deletes by setting 'AUTH0_ALLOW_DELETE' to true in the config + \n${data.map((i) => this.objString(i)).join('\n')}`); + } + } +} diff --git a/src/tools/constants.ts b/src/tools/constants.ts index 4045df5e1..1e68dc15a 100644 --- a/src/tools/constants.ts +++ b/src/tools/constants.ts @@ -68,6 +68,7 @@ const constants = { 'post-change-password', 'send-phone-message', 'password-reset-post-challenge', + 'custom-token-exchange', ], EMAIL_TEMPLATES_DIRECTORY: 'emails', EMAIL_VERIFY, @@ -216,6 +217,7 @@ const constants = { SELF_SERVICE_PROFILE_DIRECTORY: 'self-service-profiles', NETWORK_ACLS_DIRECTORY: 'network-acls', USER_ATTRIBUTE_PROFILES_DIRECTORY: 'user-attribute-profiles', + TOKEN_EXCHANGE_PROFILES_DIRECTORY: 'token-exchange-profiles', }; export default constants; diff --git a/src/types.ts b/src/types.ts index 3d7a9db77..76efbdfa2 100644 --- a/src/types.ts +++ b/src/types.ts @@ -17,6 +17,7 @@ import { PhoneTemplate } from './tools/auth0/handlers/phoneTemplates'; import { NetworkACL } from './tools/auth0/handlers/networkACLs'; import { UserAttributeProfile } from './tools/auth0/handlers/userAttributeProfiles'; import { AttackProtection } from './tools/auth0/handlers/attackProtection'; +import { TokenExchangeProfile } from './tools/auth0/handlers/tokenExchangeProfiles'; type SharedPaginationParams = { checkpoint?: boolean; @@ -142,6 +143,7 @@ export type Assets = Partial<{ networkACLs: NetworkACL[] | null; userAttributeProfiles: UserAttributeProfile[] | null; userAttributeProfilesWithId: UserAttributeProfile[] | null; + tokenExchangeProfiles: TokenExchangeProfile[] | null; }>; export type CalculatedChanges = { @@ -187,7 +189,8 @@ export type AssetTypes = | 'flowVaultConnections' | 'selfServiceProfiles' | 'networkACLs' - | 'userAttributeProfiles'; + | 'userAttributeProfiles' + | 'tokenExchangeProfiles'; export type KeywordMappings = { [key: string]: (string | number)[] | string | number }; diff --git a/test/context/directory/tokenExchangeProfiles.test.ts b/test/context/directory/tokenExchangeProfiles.test.ts new file mode 100644 index 000000000..aeb6e0f12 --- /dev/null +++ b/test/context/directory/tokenExchangeProfiles.test.ts @@ -0,0 +1,148 @@ +import path from 'path'; +import { expect } from 'chai'; +import fs from 'fs-extra'; +import { ManagementClient } from 'auth0'; + +import Context from '../../../src/context/directory'; +import handler from '../../../src/context/directory/handlers/tokenExchangeProfiles'; +import { constants } from '../../../src/tools'; +import { cleanThenMkdir, mockMgmtClient, testDataDir } from '../../utils'; +import { Config } from '../../../src/types'; + +describe('#directory context tokenExchangeProfiles', () => { + it('should process tokenExchangeProfiles', async () => { + const dir = path.join(testDataDir, 'directory', 'tokenExchangeProfiles-process'); + cleanThenMkdir(dir); + const tokenExchangeProfilesDir = path.join(dir, constants.TOKEN_EXCHANGE_PROFILES_DIRECTORY); + cleanThenMkdir(tokenExchangeProfilesDir); + + const profile1 = { + name: 'CIS token exchange', + subject_token_type: 'https://acme.com/cis-token', + action: 'my-action', + type: 'custom_authentication', + }; + + const profile2 = { + name: 'Partner token exchange', + subject_token_type: 'https://partner.com/auth-token', + action: 'partner-action', + type: 'custom_authentication', + }; + + fs.writeFileSync( + path.join(tokenExchangeProfilesDir, 'CIS token exchange.json'), + JSON.stringify(profile1, null, 2) + ); + fs.writeFileSync( + path.join(tokenExchangeProfilesDir, 'Partner token exchange.json'), + JSON.stringify(profile2, null, 2) + ); + + const config = { AUTH0_INPUT_FILE: dir } as Config; + const context = new Context(config, mockMgmtClient() as unknown as ManagementClient); + await context.loadAssetsFromLocal(); + + expect(context.assets.tokenExchangeProfiles).to.be.an('array'); + expect(context.assets.tokenExchangeProfiles).to.have.lengthOf(2); + expect(context.assets.tokenExchangeProfiles).to.deep.include(profile1); + expect(context.assets.tokenExchangeProfiles).to.deep.include(profile2); + }); + + it('should process empty tokenExchangeProfiles directory', async () => { + const dir = path.join(testDataDir, 'directory', 'tokenExchangeProfiles-empty'); + cleanThenMkdir(dir); + const tokenExchangeProfilesDir = path.join(dir, constants.TOKEN_EXCHANGE_PROFILES_DIRECTORY); + cleanThenMkdir(tokenExchangeProfilesDir); + + const config = { AUTH0_INPUT_FILE: dir } as Config; + const context = new Context(config, mockMgmtClient() as unknown as ManagementClient); + await context.loadAssetsFromLocal(); + + expect(context.assets.tokenExchangeProfiles).to.be.an('array'); + expect(context.assets.tokenExchangeProfiles).to.have.lengthOf(0); + }); + + it('should skip if tokenExchangeProfiles directory does not exist', async () => { + const dir = path.join(testDataDir, 'directory', 'tokenExchangeProfiles-nonexistent'); + cleanThenMkdir(dir); + + const config = { AUTH0_INPUT_FILE: dir } as Config; + const context = new Context(config, mockMgmtClient() as unknown as ManagementClient); + await context.loadAssetsFromLocal(); + + expect(context.assets.tokenExchangeProfiles).to.equal(null); + }); + + it('should dump tokenExchangeProfiles', async () => { + const repoDir = path.join(testDataDir, 'directory', 'tokenExchangeProfiles-dump'); + cleanThenMkdir(repoDir); + const context = new Context( + { AUTH0_INPUT_FILE: repoDir } as Config, + mockMgmtClient() as unknown as ManagementClient + ); + + const tokenExchangeProfiles: any[] = [ + { + id: 'tep_123', + name: 'CIS token exchange', + subject_token_type: 'https://acme.com/cis-token', + action: 'my-action', + type: 'custom_authentication', + created_at: '2024-10-01T16:09:42.725Z', + updated_at: '2024-10-01T16:09:42.725Z', + }, + { + id: 'tep_456', + name: 'Partner token exchange', + subject_token_type: 'https://partner.com/auth-token', + action: 'partner-action', + type: 'custom_authentication', + created_at: '2024-10-02T10:15:30.123Z', + updated_at: '2024-10-02T10:15:30.123Z', + }, + ]; + + context.assets.tokenExchangeProfiles = tokenExchangeProfiles; + + handler.dump(context); + + const tokenExchangeProfilesDir = path.join( + repoDir, + constants.TOKEN_EXCHANGE_PROFILES_DIRECTORY + ); + + // Check that the files were created with sanitized names + const cisFile = path.join(tokenExchangeProfilesDir, 'CIS token exchange.json'); + const partnerFile = path.join(tokenExchangeProfilesDir, 'Partner token exchange.json'); + + // Ensure the directory exists before checking files + expect(fs.existsSync(tokenExchangeProfilesDir)).to.equal(true); + + expect(fs.existsSync(cisFile)).to.equal(true); + expect(fs.existsSync(partnerFile)).to.equal(true); + + // Check file contents + const cisContent = JSON.parse(fs.readFileSync(cisFile, 'utf8')); + const partnerContent = JSON.parse(fs.readFileSync(partnerFile, 'utf8')); + + // Verify id, created_at and updated_at were removed + expect(cisContent).to.not.have.property('id'); + expect(cisContent).to.not.have.property('created_at'); + expect(cisContent).to.not.have.property('updated_at'); + expect(partnerContent).to.not.have.property('id'); + expect(partnerContent).to.not.have.property('created_at'); + expect(partnerContent).to.not.have.property('updated_at'); + + // Verify other properties were preserved + expect(cisContent.name).to.equal('CIS token exchange'); + expect(cisContent.subject_token_type).to.equal('https://acme.com/cis-token'); + expect(cisContent.action).to.equal('my-action'); + expect(cisContent.type).to.equal('custom_authentication'); + + expect(partnerContent.name).to.equal('Partner token exchange'); + expect(partnerContent.subject_token_type).to.equal('https://partner.com/auth-token'); + expect(partnerContent.action).to.equal('partner-action'); + expect(partnerContent.type).to.equal('custom_authentication'); + }); +}); diff --git a/test/context/yaml/clients.test.js b/test/context/yaml/clients.test.js index 19033be6a..250993d60 100644 --- a/test/context/yaml/clients.test.js +++ b/test/context/yaml/clients.test.js @@ -191,4 +191,46 @@ describe('#YAML context clients', () => { expect(dumped).to.deep.equal({ clients: target }); }); + + it('should process clients with token_exchange', async () => { + const dir = path.join(testDataDir, 'yaml', 'clientsWithTokenExchange'); + cleanThenMkdir(dir); + + const yaml = ` + clients: + - + name: "tokenExchangeClient" + app_type: "spa" + token_exchange: + allow_any_profile_of_type: ['custom_authentication'] + - + name: "regularClient" + app_type: "native" + `; + + const target = [ + { + name: 'tokenExchangeClient', + app_type: 'spa', + token_exchange: { + allow_any_profile_of_type: ['custom_authentication'], + }, + }, + { + name: 'regularClient', + app_type: 'native', + }, + ]; + + const yamlFile = path.join(dir, 'clients.yaml'); + fs.writeFileSync(yamlFile, yaml); + + const config = { + AUTH0_INPUT_FILE: yamlFile, + }; + const context = new Context(config, mockMgmtClient()); + await context.loadAssetsFromLocal(); + + expect(context.assets.clients).to.deep.equal(target); + }); }); diff --git a/test/context/yaml/context.test.js b/test/context/yaml/context.test.js index eca94338a..49574f8c3 100644 --- a/test/context/yaml/context.test.js +++ b/test/context/yaml/context.test.js @@ -310,6 +310,7 @@ describe('#YAML context validation', () => { flows: [], forms: [], selfServiceProfiles: [], + tokenExchangeProfiles: [], userAttributeProfiles: [], phoneTemplates: [], }); @@ -439,6 +440,7 @@ describe('#YAML context validation', () => { flows: [], forms: [], selfServiceProfiles: [], + tokenExchangeProfiles: [], userAttributeProfiles: [], phoneTemplates: [], }); @@ -569,6 +571,7 @@ describe('#YAML context validation', () => { flows: [], forms: [], selfServiceProfiles: [], + tokenExchangeProfiles: [], userAttributeProfiles: [], phoneTemplates: [], }); diff --git a/test/context/yaml/tokenExchangeProfiles.test.ts b/test/context/yaml/tokenExchangeProfiles.test.ts new file mode 100644 index 000000000..a59876529 --- /dev/null +++ b/test/context/yaml/tokenExchangeProfiles.test.ts @@ -0,0 +1,142 @@ +import path from 'path'; +import fs from 'fs-extra'; +import { expect } from 'chai'; +import { cloneDeep } from 'lodash'; +import { ManagementClient } from 'auth0'; + +import Context from '../../../src/context/yaml'; +import handler from '../../../src/context/yaml/handlers/tokenExchangeProfiles'; +import { cleanThenMkdir, testDataDir, mockMgmtClient } from '../../utils'; +import { Config } from '../../../src/types'; + +describe('#YAML context tokenExchangeProfiles', () => { + it('should process tokenExchangeProfiles', async () => { + const dir = path.join(testDataDir, 'yaml', 'tokenExchangeProfiles'); + cleanThenMkdir(dir); + + const yaml = ` + tokenExchangeProfiles: + - + name: 'CIS token exchange' + subject_token_type: 'https://acme.com/cis-token' + action: 'my-action' + type: 'custom_authentication' + - + name: 'Partner token exchange' + subject_token_type: 'https://partner.com/auth-token' + action: 'partner-action' + type: 'custom_authentication' + - + name: 'External token exchange' + subject_token_type: 'https://external.com/token' + action: 'external-action' + type: 'custom_authentication' + `; + + const target = [ + { + name: 'CIS token exchange', + subject_token_type: 'https://acme.com/cis-token', + action: 'my-action', + type: 'custom_authentication', + }, + { + name: 'Partner token exchange', + subject_token_type: 'https://partner.com/auth-token', + action: 'partner-action', + type: 'custom_authentication', + }, + { + name: 'External token exchange', + subject_token_type: 'https://external.com/token', + action: 'external-action', + type: 'custom_authentication', + }, + ]; + + const yamlFile = path.join(dir, 'tokenExchangeProfiles.yaml'); + fs.writeFileSync(yamlFile, yaml); + + const config = { AUTH0_INPUT_FILE: yamlFile } as Config; + const context = new Context(config, mockMgmtClient() as unknown as ManagementClient); + await context.loadAssetsFromLocal(); + expect(context.assets.tokenExchangeProfiles).to.deep.equal(target); + }); + + it('should return null when tokenExchangeProfiles is not in YAML', async () => { + const dir = path.join(testDataDir, 'yaml', 'tokenExchangeProfiles-no-section'); + cleanThenMkdir(dir); + + const yaml = ` + clients: + - name: 'Test Client' + `; + + const yamlFile = path.join(dir, 'config.yaml'); + fs.writeFileSync(yamlFile, yaml); + + const config = { AUTH0_INPUT_FILE: yamlFile } as Config; + const context = new Context(config, mockMgmtClient() as unknown as ManagementClient); + await context.loadAssetsFromLocal(); + + expect(context.assets.tokenExchangeProfiles).to.equal(null); + }); + + it('should dump tokenExchangeProfiles', async () => { + const dir = path.join(testDataDir, 'yaml', 'tokenExchangeProfiles'); + cleanThenMkdir(dir); + const context = new Context( + { AUTH0_INPUT_FILE: path.join(dir, './tokenExchangeProfiles.yml') } as Config, + mockMgmtClient() as unknown as ManagementClient + ); + + // Using any type to avoid TypeScript errors with the test data + const tokenExchangeProfiles: any[] = [ + { + id: 'tep_123', + name: 'CIS token exchange', + subject_token_type: 'https://acme.com/cis-token', + action: 'my-action', + type: 'custom_authentication', + created_at: '2024-10-01T16:09:42.725Z', + updated_at: '2024-10-01T16:09:42.725Z', + }, + { + id: 'tep_456', + name: 'Partner token exchange', + subject_token_type: 'https://partner.com/auth-token', + action: 'partner-action', + type: 'custom_authentication', + created_at: '2024-10-02T10:15:30.123Z', + updated_at: '2024-10-02T10:15:30.123Z', + }, + ]; + + context.assets.tokenExchangeProfiles = cloneDeep(tokenExchangeProfiles); + + const dumped = await handler.dump(context); + + // Create a copy without the fields that should be stripped during dump + const expectedTokenExchangeProfiles = cloneDeep(tokenExchangeProfiles).map((profile) => { + const { id, created_at: createdAt, updated_at: updatedAt, ...rest } = profile; + return rest; + }); + + expect(dumped).to.deep.equal({ tokenExchangeProfiles: expectedTokenExchangeProfiles }); + }); + + it('should handle null tokenExchangeProfiles', async () => { + const dir = path.join(testDataDir, 'yaml', 'tokenExchangeProfiles-null'); + cleanThenMkdir(dir); + const context = new Context( + { AUTH0_INPUT_FILE: path.join(dir, './tokenExchangeProfiles.yml') } as Config, + mockMgmtClient() as unknown as ManagementClient + ); + + context.assets.tokenExchangeProfiles = null as any; + + const dumped = await handler.dump(context); + + expect(dumped).to.deep.equal({ tokenExchangeProfiles: null }); + }); +}); diff --git a/test/e2e/recordings/should-deploy-while-deleting-resources-if-AUTH0_ALLOW_DELETE-is-true.json b/test/e2e/recordings/should-deploy-while-deleting-resources-if-AUTH0_ALLOW_DELETE-is-true.json index 5a894fd59..587952b5a 100644 --- a/test/e2e/recordings/should-deploy-while-deleting-resources-if-AUTH0_ALLOW_DELETE-is-true.json +++ b/test/e2e/recordings/should-deploy-while-deleting-resources-if-AUTH0_ALLOW_DELETE-is-true.json @@ -1170,6 +1170,22 @@ "value": "delete:organization_client_grants", "description": "Delete Organization Client Grants" }, + { + "value": "create:token_exchange_profiles", + "description": "Create Token Exchange Profile" + }, + { + "value": "read:token_exchange_profiles", + "description": "Read Token Exchange Profiles" + }, + { + "value": "update:token_exchange_profiles", + "description": "Update Token Exchange Profile" + }, + { + "value": "delete:token_exchange_profiles", + "description": "Delete Token Exchange Profile" + }, { "value": "read:security_metrics", "description": "Read Security Metrics" @@ -1287,7 +1303,7 @@ "subject": "deprecated" } ], - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1340,7 +1356,7 @@ "subject": "deprecated" } ], - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1385,7 +1401,7 @@ "subject": "deprecated" } ], - "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1439,7 +1455,7 @@ } ], "allowed_origins": [], - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1485,7 +1501,7 @@ "subject": "deprecated" } ], - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1538,7 +1554,7 @@ "subject": "deprecated" } ], - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1598,7 +1614,7 @@ "subject": "deprecated" } ], - "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1656,7 +1672,7 @@ "subject": "deprecated" } ], - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1680,7 +1696,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "path": "/api/v2/clients/JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "body": "", "status": 204, "response": "", @@ -1690,7 +1706,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "path": "/api/v2/clients/ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", "body": { "name": "API Explorer Application", "allowed_clients": [], @@ -1768,7 +1784,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1790,7 +1806,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "path": "/api/v2/clients/rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", "body": { "name": "Quickstarts API (Test Application)", "app_type": "non_interactive", @@ -1851,7 +1867,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1872,7 +1888,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "path": "/api/v2/clients/DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", "body": { "name": "Node App", "allowed_clients": [], @@ -1958,7 +1974,7 @@ } ], "allowed_origins": [], - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1984,7 +2000,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "path": "/api/v2/clients/CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", "body": { "name": "Terraform Provider", "app_type": "non_interactive", @@ -2039,7 +2055,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2060,7 +2076,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "path": "/api/v2/clients/x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", "body": { "name": "The Default App", "allowed_clients": [], @@ -2142,7 +2158,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2166,18 +2182,25 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "path": "/api/v2/clients/q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", "body": { - "name": "auth0-deploy-cli-extension", + "name": "Test SPA", "allowed_clients": [], - "app_type": "non_interactive", - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "app_type": "spa", + "callbacks": [ + "http://localhost:3000" + ], "client_aliases": [], "client_metadata": {}, "cross_origin_auth": false, "custom_login_page_on": true, "grant_types": [ - "client_credentials" + "authorization_code", + "implicit", + "refresh_token" ], "is_first_party": true, "is_token_endpoint_ip_header_trusted": false, @@ -2195,25 +2218,33 @@ }, "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post" + "token_endpoint_auth_method": "none", + "web_origins": [ + "http://localhost:3000" + ] }, "status": 200, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -2227,13 +2258,13 @@ }, "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, "sso_disabled": false, "cross_origin_authentication": false, @@ -2244,7 +2275,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2253,10 +2284,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ - "client_credentials" + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -2266,25 +2302,18 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "path": "/api/v2/clients/lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", "body": { - "name": "Test SPA", + "name": "auth0-deploy-cli-extension", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "app_type": "spa", - "callbacks": [ - "http://localhost:3000" - ], + "app_type": "non_interactive", + "callbacks": [], "client_aliases": [], "client_metadata": {}, "cross_origin_auth": false, "custom_login_page_on": true, "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" + "client_credentials" ], "is_first_party": true, "is_token_endpoint_ip_header_trusted": false, @@ -2302,33 +2331,25 @@ }, "oidc_conformant": true, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" }, "sso_disabled": false, - "token_endpoint_auth_method": "none", - "web_origins": [ - "http://localhost:3000" - ] + "token_endpoint_auth_method": "client_secret_post" }, "status": 200, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "name": "auth0-deploy-cli-extension", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -2342,13 +2363,13 @@ }, "oidc_conformant": true, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" }, "sso_disabled": false, "cross_origin_authentication": false, @@ -2359,7 +2380,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2368,15 +2389,10 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "client_credentials" ], "custom_login_page_on": true }, @@ -2386,7 +2402,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/otp", + "path": "/api/v2/guardian/factors/duo", "body": { "enabled": false }, @@ -2400,7 +2416,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/duo", + "path": "/api/v2/guardian/factors/email", "body": { "enabled": false }, @@ -2414,7 +2430,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/email", + "path": "/api/v2/guardian/factors/otp", "body": { "enabled": false }, @@ -2428,13 +2444,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/push-notification", + "path": "/api/v2/guardian/factors/recovery-code", "body": { - "enabled": true + "enabled": false }, "status": 200, "response": { - "enabled": true + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -2442,13 +2458,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/push-notification", "body": { - "enabled": false + "enabled": true }, "status": 200, "response": { - "enabled": false + "enabled": true }, "rawHeaders": [], "responseIsBinary": false @@ -2456,7 +2472,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", + "path": "/api/v2/guardian/factors/webauthn-platform", "body": { "enabled": false }, @@ -2470,7 +2486,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/recovery-code", + "path": "/api/v2/guardian/factors/sms", "body": { "enabled": false }, @@ -2484,7 +2500,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-platform", + "path": "/api/v2/guardian/factors/webauthn-roaming", "body": { "enabled": false }, @@ -2562,94 +2578,94 @@ "response": { "actions": [ { - "id": "4273221d-f20e-44e6-aa9d-d45702782e4e", - "name": "My Custom Action", + "id": "40d899f3-a209-42a2-a3ed-39e764dcbc33", + "name": "Custom Phone Provider", "supported_triggers": [ { - "id": "post-login", - "version": "v2" + "id": "custom-phone-provider", + "version": "v1" } ], - "created_at": "2025-12-05T14:18:53.100690661Z", - "updated_at": "2025-12-09T12:31:15.977676526Z", - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "created_at": "2025-12-11T11:30:13.629492200Z", + "updated_at": "2025-12-16T05:15:01.577210494Z", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "runtime": "node18", + "runtime": "node22", "status": "built", "secrets": [], "current_version": { - "id": "a20b7a92-0d6e-4926-9226-fb83db144dae", - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "runtime": "node18", + "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "runtime": "node22", "status": "BUILT", - "number": 7, - "build_time": "2025-12-09T12:31:16.794944131Z", - "created_at": "2025-12-09T12:31:16.719266241Z", - "updated_at": "2025-12-09T12:31:16.796068316Z" + "number": 5, + "build_time": "2025-12-16T05:15:03.730905338Z", + "created_at": "2025-12-16T05:15:03.656132145Z", + "updated_at": "2025-12-16T05:15:03.732003986Z" }, "deployed_version": { - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "a20b7a92-0d6e-4926-9226-fb83db144dae", + "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", "deployed": true, - "number": 7, - "built_at": "2025-12-09T12:31:16.794944131Z", + "number": 5, + "built_at": "2025-12-16T05:15:03.730905338Z", "secrets": [], "status": "built", - "created_at": "2025-12-09T12:31:16.719266241Z", - "updated_at": "2025-12-09T12:31:16.796068316Z", - "runtime": "node18", + "created_at": "2025-12-16T05:15:03.656132145Z", + "updated_at": "2025-12-16T05:15:03.732003986Z", + "runtime": "node22", "supported_triggers": [ { - "id": "post-login", - "version": "v2" + "id": "custom-phone-provider", + "version": "v1" } ] }, "all_changes_deployed": true }, { - "id": "50d86033-6bc2-4ceb-8991-d14c85d2e304", - "name": "Custom Phone Provider", + "id": "e69869b2-169a-4df9-9326-4447818092f6", + "name": "My Custom Action", "supported_triggers": [ { - "id": "custom-phone-provider", - "version": "v1" + "id": "post-login", + "version": "v2" } ], - "created_at": "2025-12-09T12:23:14.388072786Z", - "updated_at": "2025-12-09T12:30:12.235258402Z", - "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "created_at": "2025-12-16T05:17:04.860907359Z", + "updated_at": "2025-12-16T05:17:04.867817351Z", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "runtime": "node22", + "runtime": "node18", "status": "built", "secrets": [], "current_version": { - "id": "23bfff1b-d5bb-4f29-bcd5-d5a8779a6843", - "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", - "runtime": "node22", + "id": "a4d7af33-adee-49de-9898-744df792436e", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "runtime": "node18", "status": "BUILT", - "number": 3, - "build_time": "2025-12-09T12:30:13.066221969Z", - "created_at": "2025-12-09T12:30:12.977011820Z", - "updated_at": "2025-12-09T12:30:13.067900742Z" + "number": 1, + "build_time": "2025-12-16T05:17:06.111365724Z", + "created_at": "2025-12-16T05:17:06.028561552Z", + "updated_at": "2025-12-16T05:17:06.112541842Z" }, "deployed_version": { - "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "23bfff1b-d5bb-4f29-bcd5-d5a8779a6843", + "id": "a4d7af33-adee-49de-9898-744df792436e", "deployed": true, - "number": 3, - "built_at": "2025-12-09T12:30:13.066221969Z", + "number": 1, + "built_at": "2025-12-16T05:17:06.111365724Z", "secrets": [], "status": "built", - "created_at": "2025-12-09T12:30:12.977011820Z", - "updated_at": "2025-12-09T12:30:13.067900742Z", - "runtime": "node22", + "created_at": "2025-12-16T05:17:06.028561552Z", + "updated_at": "2025-12-16T05:17:06.112541842Z", + "runtime": "node18", "supported_triggers": [ { - "id": "custom-phone-provider", - "version": "v1" + "id": "post-login", + "version": "v2" } ] }, @@ -2665,7 +2681,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/actions/actions/50d86033-6bc2-4ceb-8991-d14c85d2e304?force=true", + "path": "/api/v2/actions/actions/40d899f3-a209-42a2-a3ed-39e764dcbc33?force=true", "body": "", "status": 204, "response": "", @@ -2675,7 +2691,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/actions/actions/4273221d-f20e-44e6-aa9d-d45702782e4e", + "path": "/api/v2/actions/actions/e69869b2-169a-4df9-9326-4447818092f6", "body": { "name": "My Custom Action", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", @@ -2691,7 +2707,7 @@ }, "status": 200, "response": { - "id": "4273221d-f20e-44e6-aa9d-d45702782e4e", + "id": "e69869b2-169a-4df9-9326-4447818092f6", "name": "My Custom Action", "supported_triggers": [ { @@ -2699,34 +2715,34 @@ "version": "v2" } ], - "created_at": "2025-12-05T14:18:53.100690661Z", - "updated_at": "2025-12-09T12:35:06.967806400Z", + "created_at": "2025-12-16T05:17:04.860907359Z", + "updated_at": "2025-12-16T05:20:09.154927185Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "pending", "secrets": [], "current_version": { - "id": "a20b7a92-0d6e-4926-9226-fb83db144dae", + "id": "a4d7af33-adee-49de-9898-744df792436e", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node18", "status": "BUILT", - "number": 7, - "build_time": "2025-12-09T12:31:16.794944131Z", - "created_at": "2025-12-09T12:31:16.719266241Z", - "updated_at": "2025-12-09T12:31:16.796068316Z" + "number": 1, + "build_time": "2025-12-16T05:17:06.111365724Z", + "created_at": "2025-12-16T05:17:06.028561552Z", + "updated_at": "2025-12-16T05:17:06.112541842Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "a20b7a92-0d6e-4926-9226-fb83db144dae", + "id": "a4d7af33-adee-49de-9898-744df792436e", "deployed": true, - "number": 7, - "built_at": "2025-12-09T12:31:16.794944131Z", + "number": 1, + "built_at": "2025-12-16T05:17:06.111365724Z", "secrets": [], "status": "built", - "created_at": "2025-12-09T12:31:16.719266241Z", - "updated_at": "2025-12-09T12:31:16.796068316Z", + "created_at": "2025-12-16T05:17:06.028561552Z", + "updated_at": "2025-12-16T05:17:06.112541842Z", "runtime": "node18", "supported_triggers": [ { @@ -2749,7 +2765,7 @@ "response": { "actions": [ { - "id": "4273221d-f20e-44e6-aa9d-d45702782e4e", + "id": "e69869b2-169a-4df9-9326-4447818092f6", "name": "My Custom Action", "supported_triggers": [ { @@ -2757,34 +2773,34 @@ "version": "v2" } ], - "created_at": "2025-12-05T14:18:53.100690661Z", - "updated_at": "2025-12-09T12:35:06.967806400Z", + "created_at": "2025-12-16T05:17:04.860907359Z", + "updated_at": "2025-12-16T05:20:09.154927185Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "built", "secrets": [], "current_version": { - "id": "a20b7a92-0d6e-4926-9226-fb83db144dae", + "id": "a4d7af33-adee-49de-9898-744df792436e", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node18", "status": "BUILT", - "number": 7, - "build_time": "2025-12-09T12:31:16.794944131Z", - "created_at": "2025-12-09T12:31:16.719266241Z", - "updated_at": "2025-12-09T12:31:16.796068316Z" + "number": 1, + "build_time": "2025-12-16T05:17:06.111365724Z", + "created_at": "2025-12-16T05:17:06.028561552Z", + "updated_at": "2025-12-16T05:17:06.112541842Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "a20b7a92-0d6e-4926-9226-fb83db144dae", + "id": "a4d7af33-adee-49de-9898-744df792436e", "deployed": true, - "number": 7, - "built_at": "2025-12-09T12:31:16.794944131Z", + "number": 1, + "built_at": "2025-12-16T05:17:06.111365724Z", "secrets": [], "status": "built", - "created_at": "2025-12-09T12:31:16.719266241Z", - "updated_at": "2025-12-09T12:31:16.796068316Z", + "created_at": "2025-12-16T05:17:06.028561552Z", + "updated_at": "2025-12-16T05:17:06.112541842Z", "runtime": "node18", "supported_triggers": [ { @@ -2805,19 +2821,19 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "POST", - "path": "/api/v2/actions/actions/4273221d-f20e-44e6-aa9d-d45702782e4e/deploy", + "path": "/api/v2/actions/actions/e69869b2-169a-4df9-9326-4447818092f6/deploy", "body": "", "status": 200, "response": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "180cfbad-155a-407a-94b3-cf0dfab34726", + "id": "78436207-c740-47e3-a519-47ab002e567e", "deployed": false, - "number": 8, + "number": 2, "secrets": [], "status": "built", - "created_at": "2025-12-09T12:35:07.753860417Z", - "updated_at": "2025-12-09T12:35:07.753860417Z", + "created_at": "2025-12-16T05:20:10.155336728Z", + "updated_at": "2025-12-16T05:20:10.155336728Z", "runtime": "node18", "supported_triggers": [ { @@ -2826,7 +2842,7 @@ } ], "action": { - "id": "4273221d-f20e-44e6-aa9d-d45702782e4e", + "id": "e69869b2-169a-4df9-9326-4447818092f6", "name": "My Custom Action", "supported_triggers": [ { @@ -2834,8 +2850,8 @@ "version": "v2" } ], - "created_at": "2025-12-05T14:18:53.100690661Z", - "updated_at": "2025-12-09T12:35:06.960018210Z", + "created_at": "2025-12-16T05:17:04.860907359Z", + "updated_at": "2025-12-16T05:20:09.146613571Z", "all_changes_deployed": false } }, @@ -2845,43 +2861,25 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/attack-protection/suspicious-ip-throttling", + "path": "/api/v2/attack-protection/breached-password-detection", "body": { - "enabled": true, - "shields": [ - "admin_notification" - ], - "allowlist": [ - "127.0.0.1" - ], - "stage": { - "pre-login": { - "max_attempts": 66, - "rate": 864000 - }, - "pre-user-registration": { - "max_attempts": 66, - "rate": 1200 - } - } + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard" }, "status": 200, "response": { - "enabled": true, - "shields": [ - "admin_notification" - ], - "allowlist": [ - "127.0.0.1" - ], + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard", "stage": { - "pre-login": { - "max_attempts": 66, - "rate": 864000 - }, "pre-user-registration": { - "max_attempts": 66, - "rate": 1200 + "shields": [] + }, + "pre-change-password": { + "shields": [] } } }, @@ -2919,25 +2917,47 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/attack-protection/breached-password-detection", + "path": "/api/v2/attack-protection/suspicious-ip-throttling", "body": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard" - }, - "status": 200, + "enabled": true, + "shields": [ + "admin_notification" + ], + "allowlist": [ + "127.0.0.1" + ], + "stage": { + "pre-login": { + "max_attempts": 66, + "rate": 864000 + }, + "pre-user-registration": { + "max_attempts": 66, + "rate": 1200 + } + } + }, + "status": 200, "response": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard", + "enabled": true, + "shields": [ + "admin_notification" + ], + "allowlist": [ + "127.0.0.1" + ], "stage": { + "pre-login": { + "max_attempts": 66, + "rate": 864000 + }, "pre-user-registration": { - "shields": [] + "max_attempts": 66, + "rate": 1200 }, - "pre-change-password": { - "shields": [] + "pre-custom-token-exchange": { + "max_attempts": 10, + "rate": 600000 } } }, @@ -2971,7 +2991,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-09T12:31:17.804Z", + "updated_at": "2025-12-16T05:17:08.381Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] @@ -3016,7 +3036,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-09T12:35:08.930Z", + "updated_at": "2025-12-16T05:20:12.065Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" }, "rawHeaders": [], @@ -3268,7 +3288,7 @@ "subject": "deprecated" } ], - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3313,7 +3333,7 @@ "subject": "deprecated" } ], - "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3367,7 +3387,7 @@ } ], "allowed_origins": [], - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3413,7 +3433,7 @@ "subject": "deprecated" } ], - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3466,7 +3486,7 @@ "subject": "deprecated" } ], - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3526,7 +3546,7 @@ "subject": "deprecated" } ], - "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3584,7 +3604,7 @@ "subject": "deprecated" } ], - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3651,7 +3671,7 @@ "response": { "connections": [ { - "id": "con_bBSD5AQUW0Q5aLuE", + "id": "con_5m5GpC2yhTh0g4cn", "options": { "mfa": { "active": true, @@ -3714,12 +3734,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" ] }, { - "id": "con_CfDqv7jPXpFqETeK", + "id": "con_4jeiJ5EmqMspBjmK", "options": { "mfa": { "active": true, @@ -3773,7 +3793,7 @@ "response": { "connections": [ { - "id": "con_bBSD5AQUW0Q5aLuE", + "id": "con_5m5GpC2yhTh0g4cn", "options": { "mfa": { "active": true, @@ -3836,12 +3856,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" ] }, { - "id": "con_CfDqv7jPXpFqETeK", + "id": "con_4jeiJ5EmqMspBjmK", "options": { "mfa": { "active": true, @@ -3889,16 +3909,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients?take=50", + "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" - }, - { - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" } ] }, @@ -3908,13 +3925,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients?take=50", + "path": "/api/v2/connections/con_5m5GpC2yhTh0g4cn/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW" + }, + { + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" } ] }, @@ -3924,7 +3944,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients?take=50", + "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK/clients?take=50", "body": "", "status": 200, "response": { @@ -3940,16 +3960,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients?take=50", + "path": "/api/v2/connections/con_5m5GpC2yhTh0g4cn/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW" }, { - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" } ] }, @@ -3959,11 +3979,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK", + "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK", "body": "", "status": 202, "response": { - "deleted_at": "2025-12-09T12:35:11.855Z" + "deleted_at": "2025-12-16T05:20:16.732Z" }, "rawHeaders": [], "responseIsBinary": false @@ -3971,11 +3991,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE", + "path": "/api/v2/connections/con_5m5GpC2yhTh0g4cn", "body": "", "status": 200, "response": { - "id": "con_bBSD5AQUW0Q5aLuE", + "id": "con_5m5GpC2yhTh0g4cn", "options": { "mfa": { "active": true, @@ -4035,8 +4055,8 @@ "active": false }, "enabled_clients": [ - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" ], "realms": [ "boo-baz-db-connection-test" @@ -4048,11 +4068,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE", + "path": "/api/v2/connections/con_5m5GpC2yhTh0g4cn", "body": { "enabled_clients": [ - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" ], "is_domain_connection": false, "options": { @@ -4110,7 +4130,7 @@ }, "status": 200, "response": { - "id": "con_bBSD5AQUW0Q5aLuE", + "id": "con_5m5GpC2yhTh0g4cn", "options": { "mfa": { "active": true, @@ -4170,8 +4190,8 @@ "active": false }, "enabled_clients": [ - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" ], "realms": [ "boo-baz-db-connection-test" @@ -4183,14 +4203,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients", + "path": "/api/v2/connections/con_5m5GpC2yhTh0g4cn/clients", "body": [ { - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", "status": true }, { - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", "status": true } ], @@ -4302,7 +4322,7 @@ "subject": "deprecated" } ], - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4347,7 +4367,7 @@ "subject": "deprecated" } ], - "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4401,7 +4421,7 @@ } ], "allowed_origins": [], - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4447,7 +4467,7 @@ "subject": "deprecated" } ], - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4500,7 +4520,7 @@ "subject": "deprecated" } ], - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4560,7 +4580,7 @@ "subject": "deprecated" } ], - "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4618,7 +4638,7 @@ "subject": "deprecated" } ], - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4685,7 +4705,7 @@ "response": { "connections": [ { - "id": "con_bBSD5AQUW0Q5aLuE", + "id": "con_5m5GpC2yhTh0g4cn", "options": { "mfa": { "active": true, @@ -4748,12 +4768,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" ] }, { - "id": "con_yGZ6rzfkdR6mMBoE", + "id": "con_ZxRMPXT6qTFWMFqC", "options": { "email": true, "scope": [ @@ -4775,8 +4795,8 @@ "google-oauth2" ], "enabled_clients": [ - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" + "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH" ] } ] @@ -4793,7 +4813,7 @@ "response": { "connections": [ { - "id": "con_bBSD5AQUW0Q5aLuE", + "id": "con_5m5GpC2yhTh0g4cn", "options": { "mfa": { "active": true, @@ -4856,12 +4876,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" ] }, { - "id": "con_yGZ6rzfkdR6mMBoE", + "id": "con_ZxRMPXT6qTFWMFqC", "options": { "email": true, "scope": [ @@ -4883,8 +4903,8 @@ "google-oauth2" ], "enabled_clients": [ - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" + "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH" ] } ] @@ -4895,16 +4915,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients?take=50", + "path": "/api/v2/connections/con_ZxRMPXT6qTFWMFqC/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" }, { - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" + "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH" } ] }, @@ -4914,16 +4934,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients?take=50", + "path": "/api/v2/connections/con_ZxRMPXT6qTFWMFqC/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" }, { - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" + "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH" } ] }, @@ -4933,11 +4953,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE", + "path": "/api/v2/connections/con_ZxRMPXT6qTFWMFqC", "body": { "enabled_clients": [ - "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", + "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" ], "is_domain_connection": false, "options": { @@ -4951,7 +4971,7 @@ }, "status": 200, "response": { - "id": "con_yGZ6rzfkdR6mMBoE", + "id": "con_ZxRMPXT6qTFWMFqC", "options": { "email": true, "scope": [ @@ -4970,8 +4990,8 @@ "active": false }, "enabled_clients": [ - "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", + "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" ], "realms": [ "google-oauth2" @@ -4983,14 +5003,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients", + "path": "/api/v2/connections/con_ZxRMPXT6qTFWMFqC/clients", "body": [ { - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", "status": true }, { - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", "status": true } ], @@ -5139,7 +5159,7 @@ "subject": "deprecated" } ], - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5184,7 +5204,7 @@ "subject": "deprecated" } ], - "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5238,7 +5258,7 @@ } ], "allowed_origins": [], - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5284,7 +5304,7 @@ "subject": "deprecated" } ], - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5337,7 +5357,7 @@ "subject": "deprecated" } ], - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5397,7 +5417,7 @@ "subject": "deprecated" } ], - "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5455,7 +5475,7 @@ "subject": "deprecated" } ], - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5522,8 +5542,8 @@ "response": { "client_grants": [ { - "id": "cgr_JYmQHwQEXGDCc53P", - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "id": "cgr_7XbO3vwF6ya6vZAL", + "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -5660,8 +5680,8 @@ "subject_type": "client" }, { - "id": "cgr_ReJeayDzA8FTvFPY", - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "id": "cgr_OaZij3g3Z6RowvIj", + "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -6040,7 +6060,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/client-grants/cgr_ReJeayDzA8FTvFPY", + "path": "/api/v2/client-grants/cgr_OaZij3g3Z6RowvIj", "body": { "scope": [ "read:client_grants", @@ -6177,8 +6197,8 @@ }, "status": 200, "response": { - "id": "cgr_ReJeayDzA8FTvFPY", - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "id": "cgr_OaZij3g3Z6RowvIj", + "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -6320,7 +6340,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/client-grants/cgr_JYmQHwQEXGDCc53P", + "path": "/api/v2/client-grants/cgr_7XbO3vwF6ya6vZAL", "body": { "scope": [ "read:client_grants", @@ -6457,8 +6477,8 @@ }, "status": 200, "response": { - "id": "cgr_JYmQHwQEXGDCc53P", - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "id": "cgr_7XbO3vwF6ya6vZAL", + "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -6606,22 +6626,22 @@ "response": { "roles": [ { - "id": "rol_EH7ASyHIXKqKPc4X", + "id": "rol_QUkalOG8CI2qT7cg", "name": "Admin", "description": "Can read and write things" }, { - "id": "rol_WHMW5tI8GYuTShEL", + "id": "rol_7lCohdU6rjViF9BJ", "name": "Reader", "description": "Can only read things" }, { - "id": "rol_dkoJYFPEbm4fBQUa", + "id": "rol_ZVXhUfVpRnHPMoVN", "name": "read_only", "description": "Read Only" }, { - "id": "rol_6mNIPtAC2wBSBD7S", + "id": "rol_wlMa14cHtcqr1KdB", "name": "read_osnly", "description": "Readz Only" } @@ -6636,7 +6656,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_QUkalOG8CI2qT7cg/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -6651,12 +6671,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_QUkalOG8CI2qT7cg/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { "permissions": [], - "start": 0, + "start": 100, "limit": 100, "total": 0 }, @@ -6666,7 +6686,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_7lCohdU6rjViF9BJ/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -6681,12 +6701,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_7lCohdU6rjViF9BJ/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { "permissions": [], - "start": 0, + "start": 100, "limit": 100, "total": 0 }, @@ -6696,7 +6716,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_ZVXhUfVpRnHPMoVN/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -6711,12 +6731,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_ZVXhUfVpRnHPMoVN/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { "permissions": [], - "start": 0, + "start": 100, "limit": 100, "total": 0 }, @@ -6726,7 +6746,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_wlMa14cHtcqr1KdB/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -6741,12 +6761,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_wlMa14cHtcqr1KdB/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { "permissions": [], - "start": 0, + "start": 100, "limit": 100, "total": 0 }, @@ -6756,14 +6776,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X", + "path": "/api/v2/roles/rol_QUkalOG8CI2qT7cg", "body": { "name": "Admin", "description": "Can read and write things" }, "status": 200, "response": { - "id": "rol_EH7ASyHIXKqKPc4X", + "id": "rol_QUkalOG8CI2qT7cg", "name": "Admin", "description": "Can read and write things" }, @@ -6773,14 +6793,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL", + "path": "/api/v2/roles/rol_7lCohdU6rjViF9BJ", "body": { "name": "Reader", "description": "Can only read things" }, "status": 200, "response": { - "id": "rol_WHMW5tI8GYuTShEL", + "id": "rol_7lCohdU6rjViF9BJ", "name": "Reader", "description": "Can only read things" }, @@ -6790,14 +6810,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa", + "path": "/api/v2/roles/rol_ZVXhUfVpRnHPMoVN", "body": { "name": "read_only", "description": "Read Only" }, "status": 200, "response": { - "id": "rol_dkoJYFPEbm4fBQUa", + "id": "rol_ZVXhUfVpRnHPMoVN", "name": "read_only", "description": "Read Only" }, @@ -6807,14 +6827,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S", + "path": "/api/v2/roles/rol_wlMa14cHtcqr1KdB", "body": { "name": "read_osnly", "description": "Readz Only" }, "status": 200, "response": { - "id": "rol_6mNIPtAC2wBSBD7S", + "id": "rol_wlMa14cHtcqr1KdB", "name": "read_osnly", "description": "Readz Only" }, @@ -6850,7 +6870,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-09T12:31:31.782Z", + "updated_at": "2025-12-16T05:17:30.753Z", "branding": { "colors": { "primary": "#19aecc" @@ -6926,7 +6946,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-09T12:35:22.470Z", + "updated_at": "2025-12-16T05:20:33.067Z", "branding": { "colors": { "primary": "#19aecc" @@ -6939,27 +6959,25 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/email-templates/welcome_email", + "path": "/api/v2/email-templates/verify_email", "body": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "enabled": false, + "template": "verify_email", + "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", + "enabled": true, "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", + "subject": "", "syntax": "liquid", - "urlLifetimeInSeconds": 3600 + "urlLifetimeInSeconds": 432000 }, "status": 200, "response": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", + "template": "verify_email", + "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", + "subject": "", "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false + "urlLifetimeInSeconds": 432000, + "enabled": true }, "rawHeaders": [], "responseIsBinary": false @@ -6967,25 +6985,27 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/email-templates/verify_email", + "path": "/api/v2/email-templates/welcome_email", "body": { - "template": "verify_email", - "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", - "enabled": true, + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "enabled": false, "from": "", - "subject": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", "syntax": "liquid", - "urlLifetimeInSeconds": 432000 + "urlLifetimeInSeconds": 3600 }, "status": 200, "response": { - "template": "verify_email", - "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", "from": "", - "subject": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", "syntax": "liquid", - "urlLifetimeInSeconds": 432000, - "enabled": true + "urlLifetimeInSeconds": 3600, + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -6999,7 +7019,7 @@ "response": { "organizations": [ { - "id": "org_fIRF1it8cTOyf2yS", + "id": "org_xx56mAIMVPiBVeuu", "name": "org1", "display_name": "Organization", "branding": { @@ -7010,7 +7030,7 @@ } }, { - "id": "org_hWOYWXtnxIpJ0MX3", + "id": "org_BF11sKCsVKejD9RE", "name": "org2", "display_name": "Organization2" } @@ -7122,7 +7142,7 @@ "subject": "deprecated" } ], - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7167,7 +7187,7 @@ "subject": "deprecated" } ], - "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7221,7 +7241,7 @@ } ], "allowed_origins": [], - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7267,7 +7287,7 @@ "subject": "deprecated" } ], - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7320,7 +7340,7 @@ "subject": "deprecated" } ], - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7380,7 +7400,7 @@ "subject": "deprecated" } ], - "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7438,7 +7458,7 @@ "subject": "deprecated" } ], - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7499,7 +7519,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -7514,7 +7534,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/enabled_connections?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -7529,7 +7549,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -7544,12 +7564,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/client-grants?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { "client_grants": [], - "start": 0, + "start": 50, "limit": 50, "total": 0 }, @@ -7559,7 +7579,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/discovery-domains?take=50", + "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -7571,7 +7591,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/discovery-domains?take=50", + "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -7583,7 +7603,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -7598,7 +7618,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/enabled_connections?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -7613,7 +7633,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -7628,12 +7648,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/client-grants?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { "client_grants": [], - "start": 0, + "start": 50, "limit": 50, "total": 0 }, @@ -7643,7 +7663,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/discovery-domains?take=50", + "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -7655,7 +7675,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/discovery-domains?take=50", + "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -7673,7 +7693,7 @@ "response": { "connections": [ { - "id": "con_bBSD5AQUW0Q5aLuE", + "id": "con_5m5GpC2yhTh0g4cn", "options": { "mfa": { "active": true, @@ -7736,12 +7756,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" ] }, { - "id": "con_yGZ6rzfkdR6mMBoE", + "id": "con_ZxRMPXT6qTFWMFqC", "options": { "email": true, "scope": [ @@ -7763,8 +7783,8 @@ "google-oauth2" ], "enabled_clients": [ - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" + "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", + "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" ] } ] @@ -7775,538 +7795,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/client-grants?take=50", + "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { - "client_grants": [ - { - "id": "cgr_JYmQHwQEXGDCc53P", - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" - ], - "subject_type": "client" - }, - { - "id": "cgr_ReJeayDzA8FTvFPY", - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" - ], - "subject_type": "client" - }, - { - "id": "cgr_pbwejzhwoujrsNE8", - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:client_credentials", - "update:client_credentials", - "delete:client_credentials", - "create:client_credentials", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations_summary", - "create:authentication_methods", - "read:authentication_methods", - "update:authentication_methods", - "delete:authentication_methods", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "read:organization_discovery_domains", - "update:organization_discovery_domains", - "create:organization_discovery_domains", - "delete:organization_discovery_domains", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations", - "read:scim_config", - "create:scim_config", - "update:scim_config", - "delete:scim_config", - "create:scim_token", - "read:scim_token", - "delete:scim_token", - "delete:phone_providers", - "create:phone_providers", - "read:phone_providers", - "update:phone_providers", - "delete:phone_templates", - "create:phone_templates", - "read:phone_templates", - "update:phone_templates", - "create:encryption_keys", - "read:encryption_keys", - "update:encryption_keys", - "delete:encryption_keys", - "read:sessions", - "update:sessions", - "delete:sessions", - "read:refresh_tokens", - "delete:refresh_tokens", - "create:self_service_profiles", - "read:self_service_profiles", - "update:self_service_profiles", - "delete:self_service_profiles", - "create:sso_access_tickets", - "delete:sso_access_tickets", - "read:forms", - "update:forms", - "delete:forms", - "create:forms", - "read:flows", - "update:flows", - "delete:flows", - "create:flows", - "read:flows_vault", - "read:flows_vault_connections", - "update:flows_vault_connections", - "delete:flows_vault_connections", - "create:flows_vault_connections", - "read:flows_executions", - "delete:flows_executions", - "read:connections_options", - "update:connections_options", - "read:self_service_profile_custom_texts", - "update:self_service_profile_custom_texts", - "create:network_acls", - "update:network_acls", - "read:network_acls", - "delete:network_acls", - "delete:vdcs_templates", - "read:vdcs_templates", - "create:vdcs_templates", - "update:vdcs_templates", - "create:custom_signing_keys", - "read:custom_signing_keys", - "update:custom_signing_keys", - "delete:custom_signing_keys", - "read:federated_connections_tokens", - "delete:federated_connections_tokens", - "create:user_attribute_profiles", - "read:user_attribute_profiles", - "update:user_attribute_profiles", - "delete:user_attribute_profiles", - "read:event_streams", - "create:event_streams", - "delete:event_streams", - "update:event_streams", - "read:event_deliveries", - "update:event_deliveries", - "create:connection_profiles", - "read:connection_profiles", - "update:connection_profiles", - "delete:connection_profiles", - "read:organization_client_grants", - "create:organization_client_grants", - "delete:organization_client_grants", - "read:security_metrics", - "read:connections_keys", - "update:connections_keys", - "create:connections_keys" - ], - "subject_type": "client" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", - "body": "", - "status": 200, - "response": { - "total": 9, - "start": 0, - "limit": 100, - "clients": [ + "total": 9, + "start": 0, + "limit": 100, + "clients": [ { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -8399,7 +7895,7 @@ "subject": "deprecated" } ], - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8444,7 +7940,7 @@ "subject": "deprecated" } ], - "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8498,7 +7994,7 @@ } ], "allowed_origins": [], - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8544,7 +8040,7 @@ "subject": "deprecated" } ], - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8597,7 +8093,7 @@ "subject": "deprecated" } ], - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8657,7 +8153,7 @@ "subject": "deprecated" } ], - "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8715,7 +8211,7 @@ "subject": "deprecated" } ], - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8729,44 +8225,568 @@ "grant_types": [ "client_credentials" ], - "custom_login_page_on": true + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": true, + "callbacks": [], + "is_first_party": true, + "name": "All Applications", + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" + ], + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/client-grants?take=50", + "body": "", + "status": 200, + "response": { + "client_grants": [ + { + "id": "cgr_7XbO3vwF6ya6vZAL", + "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ], + "subject_type": "client" }, { - "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], - "is_first_party": true, - "name": "All Applications", - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" + "id": "cgr_OaZij3g3Z6RowvIj", + "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } + "subject_type": "client" + }, + { + "id": "cgr_pbwejzhwoujrsNE8", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:client_credentials", + "update:client_credentials", + "delete:client_credentials", + "create:client_credentials", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations_summary", + "create:authentication_methods", + "read:authentication_methods", + "update:authentication_methods", + "delete:authentication_methods", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "read:organization_discovery_domains", + "update:organization_discovery_domains", + "create:organization_discovery_domains", + "delete:organization_discovery_domains", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations", + "read:scim_config", + "create:scim_config", + "update:scim_config", + "delete:scim_config", + "create:scim_token", + "read:scim_token", + "delete:scim_token", + "delete:phone_providers", + "create:phone_providers", + "read:phone_providers", + "update:phone_providers", + "delete:phone_templates", + "create:phone_templates", + "read:phone_templates", + "update:phone_templates", + "create:encryption_keys", + "read:encryption_keys", + "update:encryption_keys", + "delete:encryption_keys", + "read:sessions", + "update:sessions", + "delete:sessions", + "read:refresh_tokens", + "delete:refresh_tokens", + "create:self_service_profiles", + "read:self_service_profiles", + "update:self_service_profiles", + "delete:self_service_profiles", + "create:sso_access_tickets", + "delete:sso_access_tickets", + "read:forms", + "update:forms", + "delete:forms", + "create:forms", + "read:flows", + "update:flows", + "delete:flows", + "create:flows", + "read:flows_vault", + "read:flows_vault_connections", + "update:flows_vault_connections", + "delete:flows_vault_connections", + "create:flows_vault_connections", + "read:flows_executions", + "delete:flows_executions", + "read:connections_options", + "update:connections_options", + "read:self_service_profile_custom_texts", + "update:self_service_profile_custom_texts", + "create:network_acls", + "update:network_acls", + "read:network_acls", + "delete:network_acls", + "delete:vdcs_templates", + "read:vdcs_templates", + "create:vdcs_templates", + "update:vdcs_templates", + "create:custom_signing_keys", + "read:custom_signing_keys", + "update:custom_signing_keys", + "delete:custom_signing_keys", + "read:federated_connections_tokens", + "delete:federated_connections_tokens", + "create:user_attribute_profiles", + "read:user_attribute_profiles", + "update:user_attribute_profiles", + "delete:user_attribute_profiles", + "read:event_streams", + "create:event_streams", + "delete:event_streams", + "update:event_streams", + "read:event_deliveries", + "update:event_deliveries", + "create:connection_profiles", + "read:connection_profiles", + "update:connection_profiles", + "delete:connection_profiles", + "read:organization_client_grants", + "create:organization_client_grants", + "delete:organization_client_grants", + "read:security_metrics", + "read:connections_keys", + "update:connections_keys", + "create:connections_keys" ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true + "subject_type": "client" } ] }, @@ -8776,13 +8796,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3", + "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE", "body": { "display_name": "Organization2" }, "status": 200, "response": { - "id": "org_hWOYWXtnxIpJ0MX3", + "id": "org_BF11sKCsVKejD9RE", "display_name": "Organization2", "name": "org2" }, @@ -8792,7 +8812,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS", + "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu", "body": { "branding": { "colors": { @@ -8810,7 +8830,7 @@ "primary": "#57ddff" } }, - "id": "org_fIRF1it8cTOyf2yS", + "id": "org_xx56mAIMVPiBVeuu", "display_name": "Organization", "name": "org1" }, @@ -8825,7 +8845,7 @@ "status": 200, "response": [ { - "id": "lst_0000000000025431", + "id": "lst_0000000000025583", "name": "Suspended DD Log Stream", "type": "datadog", "status": "active", @@ -8836,14 +8856,14 @@ "isPriority": false }, { - "id": "lst_0000000000025432", + "id": "lst_0000000000025584", "name": "Amazon EventBridge", "type": "eventbridge", "status": "active", "sink": { "awsAccountId": "123456789012", "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-84b807b2-8a87-4d4b-87eb-ff1b56370b3a/auth0.logs" + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-baf843b1-5e3d-4cfa-86b7-b0cec812ad73/auth0.logs" }, "filters": [ { @@ -8892,33 +8912,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/log-streams/lst_0000000000025431", - "body": { - "name": "Suspended DD Log Stream", - "sink": { - "datadogApiKey": "some-sensitive-api-key", - "datadogRegion": "us" - } - }, - "status": 200, - "response": { - "id": "lst_0000000000025431", - "name": "Suspended DD Log Stream", - "type": "datadog", - "status": "active", - "sink": { - "datadogApiKey": "some-sensitive-api-key", - "datadogRegion": "us" - }, - "isPriority": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/log-streams/lst_0000000000025432", + "path": "/api/v2/log-streams/lst_0000000000025584", "body": { "name": "Amazon EventBridge", "filters": [ @@ -8963,14 +8957,14 @@ }, "status": 200, "response": { - "id": "lst_0000000000025432", + "id": "lst_0000000000025584", "name": "Amazon EventBridge", "type": "eventbridge", "status": "active", "sink": { "awsAccountId": "123456789012", "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-84b807b2-8a87-4d4b-87eb-ff1b56370b3a/auth0.logs" + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-baf843b1-5e3d-4cfa-86b7-b0cec812ad73/auth0.logs" }, "filters": [ { @@ -9015,6 +9009,32 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/log-streams/lst_0000000000025583", + "body": { + "name": "Suspended DD Log Stream", + "sink": { + "datadogApiKey": "some-sensitive-api-key", + "datadogRegion": "us" + } + }, + "status": 200, + "response": { + "id": "lst_0000000000025583", + "name": "Suspended DD Log Stream", + "type": "datadog", + "status": "active", + "sink": { + "datadogApiKey": "some-sensitive-api-key", + "datadogRegion": "us" + }, + "isPriority": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -9061,7 +9081,7 @@ "name": "Blank-form", "flow_count": 0, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-09T12:31:42.735Z" + "updated_at": "2025-12-16T05:17:40.044Z" } ] }, @@ -9132,7 +9152,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-09T12:31:42.735Z" + "updated_at": "2025-12-16T05:17:40.044Z" }, "rawHeaders": [], "responseIsBinary": false @@ -9257,7 +9277,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-09T12:35:32.845Z" + "updated_at": "2025-12-16T05:20:48.391Z" }, "rawHeaders": [], "responseIsBinary": false @@ -10350,6 +10370,22 @@ "value": "delete:organization_client_grants", "description": "Delete Organization Client Grants" }, + { + "value": "create:token_exchange_profiles", + "description": "Create Token Exchange Profile" + }, + { + "value": "read:token_exchange_profiles", + "description": "Read Token Exchange Profiles" + }, + { + "value": "update:token_exchange_profiles", + "description": "Update Token Exchange Profile" + }, + { + "value": "delete:token_exchange_profiles", + "description": "Delete Token Exchange Profile" + }, { "value": "read:security_metrics", "description": "Read Security Metrics" @@ -10477,7 +10513,7 @@ "subject": "deprecated" } ], - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10522,7 +10558,7 @@ "subject": "deprecated" } ], - "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10576,7 +10612,7 @@ } ], "allowed_origins": [], - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10622,7 +10658,7 @@ "subject": "deprecated" } ], - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10675,7 +10711,7 @@ "subject": "deprecated" } ], - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10735,7 +10771,7 @@ "subject": "deprecated" } ], - "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10793,7 +10829,7 @@ "subject": "deprecated" } ], - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10817,7 +10853,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "path": "/api/v2/clients/ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", "body": "", "status": 204, "response": "", @@ -10827,7 +10863,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "path": "/api/v2/clients/rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", "body": "", "status": 204, "response": "", @@ -10837,7 +10873,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "path": "/api/v2/clients/DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", "body": "", "status": 204, "response": "", @@ -10847,7 +10883,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "path": "/api/v2/clients/CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", "body": "", "status": 204, "response": "", @@ -10857,7 +10893,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "path": "/api/v2/clients/x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", "body": "", "status": 204, "response": "", @@ -10867,7 +10903,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "path": "/api/v2/clients/q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", "body": "", "status": 204, "response": "", @@ -10877,7 +10913,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "path": "/api/v2/clients/lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", "body": "", "status": 204, "response": "", @@ -10948,7 +10984,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10970,7 +11006,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/email", + "path": "/api/v2/guardian/factors/duo", "body": { "enabled": false }, @@ -10984,7 +11020,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/duo", + "path": "/api/v2/guardian/factors/email", "body": { "enabled": false }, @@ -11012,7 +11048,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/recovery-code", + "path": "/api/v2/guardian/factors/push-notification", "body": { "enabled": false }, @@ -11026,7 +11062,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-platform", + "path": "/api/v2/guardian/factors/sms", "body": { "enabled": false }, @@ -11040,7 +11076,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/recovery-code", "body": { "enabled": false }, @@ -11054,7 +11090,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/push-notification", + "path": "/api/v2/guardian/factors/webauthn-roaming", "body": { "enabled": false }, @@ -11068,7 +11104,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", + "path": "/api/v2/guardian/factors/webauthn-platform", "body": { "enabled": false }, @@ -11141,7 +11177,7 @@ "response": { "actions": [ { - "id": "4273221d-f20e-44e6-aa9d-d45702782e4e", + "id": "e69869b2-169a-4df9-9326-4447818092f6", "name": "My Custom Action", "supported_triggers": [ { @@ -11149,34 +11185,34 @@ "version": "v2" } ], - "created_at": "2025-12-05T14:18:53.100690661Z", - "updated_at": "2025-12-09T12:35:06.967806400Z", + "created_at": "2025-12-16T05:17:04.860907359Z", + "updated_at": "2025-12-16T05:20:09.154927185Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "built", "secrets": [], "current_version": { - "id": "180cfbad-155a-407a-94b3-cf0dfab34726", + "id": "78436207-c740-47e3-a519-47ab002e567e", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node18", "status": "BUILT", - "number": 8, - "build_time": "2025-12-09T12:35:07.834791992Z", - "created_at": "2025-12-09T12:35:07.753860417Z", - "updated_at": "2025-12-09T12:35:07.836162168Z" + "number": 2, + "build_time": "2025-12-16T05:20:10.223852587Z", + "created_at": "2025-12-16T05:20:10.155336728Z", + "updated_at": "2025-12-16T05:20:10.225142287Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "180cfbad-155a-407a-94b3-cf0dfab34726", + "id": "78436207-c740-47e3-a519-47ab002e567e", "deployed": true, - "number": 8, - "built_at": "2025-12-09T12:35:07.834791992Z", + "number": 2, + "built_at": "2025-12-16T05:20:10.223852587Z", "secrets": [], "status": "built", - "created_at": "2025-12-09T12:35:07.753860417Z", - "updated_at": "2025-12-09T12:35:07.836162168Z", + "created_at": "2025-12-16T05:20:10.155336728Z", + "updated_at": "2025-12-16T05:20:10.225142287Z", "runtime": "node18", "supported_triggers": [ { @@ -11197,7 +11233,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/actions/actions/4273221d-f20e-44e6-aa9d-d45702782e4e?force=true", + "path": "/api/v2/actions/actions/e69869b2-169a-4df9-9326-4447818092f6?force=true", "body": "", "status": 204, "response": "", @@ -11206,57 +11242,13 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/actions/actions?page=0&per_page=100", - "body": "", - "status": 200, - "response": { - "actions": [], - "per_page": 100 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/suspicious-ip-throttling", - "body": { - "enabled": true, - "shields": [ - "admin_notification", - "block" - ], - "allowlist": [], - "stage": { - "pre-login": { - "max_attempts": 100, - "rate": 864000 - }, - "pre-user-registration": { - "max_attempts": 50, - "rate": 1200 - } - } - }, + "method": "GET", + "path": "/api/v2/actions/actions?page=0&per_page=100", + "body": "", "status": 200, "response": { - "enabled": true, - "shields": [ - "admin_notification", - "block" - ], - "allowlist": [], - "stage": { - "pre-login": { - "max_attempts": 100, - "rate": 864000 - }, - "pre-user-registration": { - "max_attempts": 50, - "rate": 1200 - } - } + "actions": [], + "per_page": 100 }, "rawHeaders": [], "responseIsBinary": false @@ -11317,6 +11309,54 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/suspicious-ip-throttling", + "body": { + "enabled": true, + "shields": [ + "admin_notification", + "block" + ], + "allowlist": [], + "stage": { + "pre-login": { + "max_attempts": 100, + "rate": 864000 + }, + "pre-user-registration": { + "max_attempts": 50, + "rate": 1200 + } + } + }, + "status": 200, + "response": { + "enabled": true, + "shields": [ + "admin_notification", + "block" + ], + "allowlist": [], + "stage": { + "pre-login": { + "max_attempts": 100, + "rate": 864000 + }, + "pre-user-registration": { + "max_attempts": 50, + "rate": 1200 + }, + "pre-custom-token-exchange": { + "max_attempts": 10, + "rate": 600000 + } + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -11410,7 +11450,7 @@ "subject": "deprecated" } ], - "client_id": "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11477,7 +11517,7 @@ "response": { "connections": [ { - "id": "con_bBSD5AQUW0Q5aLuE", + "id": "con_5m5GpC2yhTh0g4cn", "options": { "mfa": { "active": true, @@ -11555,7 +11595,7 @@ "response": { "connections": [ { - "id": "con_bBSD5AQUW0Q5aLuE", + "id": "con_5m5GpC2yhTh0g4cn", "options": { "mfa": { "active": true, @@ -11627,7 +11667,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients?take=50", + "path": "/api/v2/connections/con_5m5GpC2yhTh0g4cn/clients?take=50", "body": "", "status": 200, "response": { @@ -11639,7 +11679,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients?take=50", + "path": "/api/v2/connections/con_5m5GpC2yhTh0g4cn/clients?take=50", "body": "", "status": 200, "response": { @@ -11651,11 +11691,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE", + "path": "/api/v2/connections/con_5m5GpC2yhTh0g4cn", "body": "", "status": 202, "response": { - "deleted_at": "2025-12-09T12:35:45.505Z" + "deleted_at": "2025-12-16T05:21:07.209Z" }, "rawHeaders": [], "responseIsBinary": false @@ -11669,7 +11709,7 @@ "strategy": "auth0", "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5" + "u6litSM0kteNcq1warh1NdRpv0MJYaWa" ], "is_domain_connection": false, "options": { @@ -11687,7 +11727,7 @@ }, "status": 201, "response": { - "id": "con_hKLY3IvYo1iFcMHg", + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -11721,8 +11761,8 @@ "active": false }, "enabled_clients": [ - "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "u6litSM0kteNcq1warh1NdRpv0MJYaWa" ], "realms": [ "Username-Password-Authentication" @@ -11740,7 +11780,7 @@ "response": { "connections": [ { - "id": "con_hKLY3IvYo1iFcMHg", + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -11777,8 +11817,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "u6litSM0kteNcq1warh1NdRpv0MJYaWa" ] } ] @@ -11789,14 +11829,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_hKLY3IvYo1iFcMHg/clients", + "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients", "body": [ { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "status": true }, { - "client_id": "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "status": true } ], @@ -11898,7 +11938,7 @@ "subject": "deprecated" } ], - "client_id": "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11965,7 +12005,7 @@ "response": { "connections": [ { - "id": "con_yGZ6rzfkdR6mMBoE", + "id": "con_ZxRMPXT6qTFWMFqC", "options": { "email": true, "scope": [ @@ -11989,7 +12029,7 @@ "enabled_clients": [] }, { - "id": "con_hKLY3IvYo1iFcMHg", + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -12026,7 +12066,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5", + "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -12044,7 +12084,7 @@ "response": { "connections": [ { - "id": "con_yGZ6rzfkdR6mMBoE", + "id": "con_ZxRMPXT6qTFWMFqC", "options": { "email": true, "scope": [ @@ -12068,7 +12108,7 @@ "enabled_clients": [] }, { - "id": "con_hKLY3IvYo1iFcMHg", + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -12105,7 +12145,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5", + "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -12117,7 +12157,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients?take=50", + "path": "/api/v2/connections/con_ZxRMPXT6qTFWMFqC/clients?take=50", "body": "", "status": 200, "response": { @@ -12129,7 +12169,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients?take=50", + "path": "/api/v2/connections/con_ZxRMPXT6qTFWMFqC/clients?take=50", "body": "", "status": 200, "response": { @@ -12141,11 +12181,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE", + "path": "/api/v2/connections/con_ZxRMPXT6qTFWMFqC", "body": "", "status": 202, "response": { - "deleted_at": "2025-12-09T12:35:51.306Z" + "deleted_at": "2025-12-16T05:21:14.787Z" }, "rawHeaders": [], "responseIsBinary": false @@ -12277,7 +12317,7 @@ "subject": "deprecated" } ], - "client_id": "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12592,22 +12632,22 @@ "response": { "roles": [ { - "id": "rol_EH7ASyHIXKqKPc4X", + "id": "rol_QUkalOG8CI2qT7cg", "name": "Admin", "description": "Can read and write things" }, { - "id": "rol_WHMW5tI8GYuTShEL", + "id": "rol_7lCohdU6rjViF9BJ", "name": "Reader", "description": "Can only read things" }, { - "id": "rol_dkoJYFPEbm4fBQUa", + "id": "rol_ZVXhUfVpRnHPMoVN", "name": "read_only", "description": "Read Only" }, { - "id": "rol_6mNIPtAC2wBSBD7S", + "id": "rol_wlMa14cHtcqr1KdB", "name": "read_osnly", "description": "Readz Only" } @@ -12622,7 +12662,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_QUkalOG8CI2qT7cg/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -12637,12 +12677,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_QUkalOG8CI2qT7cg/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { "permissions": [], - "start": 0, + "start": 100, "limit": 100, "total": 0 }, @@ -12652,7 +12692,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_7lCohdU6rjViF9BJ/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -12667,12 +12707,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_7lCohdU6rjViF9BJ/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { "permissions": [], - "start": 0, + "start": 100, "limit": 100, "total": 0 }, @@ -12682,7 +12722,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_ZVXhUfVpRnHPMoVN/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -12697,12 +12737,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_ZVXhUfVpRnHPMoVN/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { "permissions": [], - "start": 0, + "start": 100, "limit": 100, "total": 0 }, @@ -12712,7 +12752,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_wlMa14cHtcqr1KdB/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -12727,12 +12767,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_wlMa14cHtcqr1KdB/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { "permissions": [], - "start": 0, + "start": 100, "limit": 100, "total": 0 }, @@ -12742,7 +12782,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X", + "path": "/api/v2/roles/rol_QUkalOG8CI2qT7cg", "body": "", "status": 200, "response": {}, @@ -12752,7 +12792,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa", + "path": "/api/v2/roles/rol_7lCohdU6rjViF9BJ", "body": "", "status": 200, "response": {}, @@ -12762,7 +12802,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL", + "path": "/api/v2/roles/rol_ZVXhUfVpRnHPMoVN", "body": "", "status": 200, "response": {}, @@ -12772,42 +12812,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S", + "path": "/api/v2/roles/rol_wlMa14cHtcqr1KdB", "body": "", "status": 200, "response": {}, "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations?take=50", - "body": "", - "status": 200, - "response": { - "organizations": [ - { - "id": "org_fIRF1it8cTOyf2yS", - "name": "org1", - "display_name": "Organization", - "branding": { - "colors": { - "page_background": "#fff5f5", - "primary": "#57ddff" - } - } - }, - { - "id": "org_hWOYWXtnxIpJ0MX3", - "name": "org2", - "display_name": "Organization2" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -12901,7 +12912,7 @@ "subject": "deprecated" } ], - "client_id": "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12962,83 +12973,28 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/enabled_connections?page=0&per_page=50&include_totals=true", - "body": "", - "status": 200, - "response": { - "enabled_connections": [], - "start": 0, - "limit": 0, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/enabled_connections?page=0&per_page=50&include_totals=true", - "body": "", - "status": 200, - "response": { - "enabled_connections": [], - "start": 0, - "limit": 0, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/client-grants?page=0&per_page=50&include_totals=true", - "body": "", - "status": 200, - "response": { - "client_grants": [], - "start": 0, - "limit": 50, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/client-grants?page=0&per_page=50&include_totals=true", - "body": "", - "status": 200, - "response": { - "client_grants": [], - "start": 0, - "limit": 50, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/discovery-domains?take=50", - "body": "", - "status": 200, - "response": { - "domains": [] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/discovery-domains?take=50", + "path": "/api/v2/organizations?take=50", "body": "", "status": 200, "response": { - "domains": [] + "organizations": [ + { + "id": "org_xx56mAIMVPiBVeuu", + "name": "org1", + "display_name": "Organization", + "branding": { + "colors": { + "page_background": "#fff5f5", + "primary": "#57ddff" + } + } + }, + { + "id": "org_BF11sKCsVKejD9RE", + "name": "org2", + "display_name": "Organization2" + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -13046,7 +13002,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -13061,7 +13017,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/enabled_connections?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -13076,7 +13032,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -13091,93 +13047,26 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/client-grants?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { "client_grants": [], - "start": 0, + "start": 50, "limit": 50, "total": 0 }, "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/discovery-domains?take=50", - "body": "", - "status": 200, - "response": { - "domains": [] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/discovery-domains?take=50", - "body": "", - "status": 200, - "response": { - "domains": [] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?take=50", - "body": "", - "status": 200, - "response": { - "connections": [ - { - "id": "con_hKLY3IvYo1iFcMHg", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - ] - } - ] + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/discovery-domains?take=50", + "body": "", + "status": 200, + "response": { + "domains": [] }, "rawHeaders": [], "responseIsBinary": false @@ -13185,245 +13074,148 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/client-grants?take=50", + "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/discovery-domains?take=50", "body": "", "status": 200, "response": { - "client_grants": [ - { - "id": "cgr_pbwejzhwoujrsNE8", - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:client_credentials", - "update:client_credentials", - "delete:client_credentials", - "create:client_credentials", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations_summary", - "create:authentication_methods", - "read:authentication_methods", - "update:authentication_methods", - "delete:authentication_methods", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "read:organization_discovery_domains", - "update:organization_discovery_domains", - "create:organization_discovery_domains", - "delete:organization_discovery_domains", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations", - "read:scim_config", - "create:scim_config", - "update:scim_config", - "delete:scim_config", - "create:scim_token", - "read:scim_token", - "delete:scim_token", - "delete:phone_providers", - "create:phone_providers", - "read:phone_providers", - "update:phone_providers", - "delete:phone_templates", - "create:phone_templates", - "read:phone_templates", - "update:phone_templates", - "create:encryption_keys", - "read:encryption_keys", - "update:encryption_keys", - "delete:encryption_keys", - "read:sessions", - "update:sessions", - "delete:sessions", - "read:refresh_tokens", - "delete:refresh_tokens", - "create:self_service_profiles", - "read:self_service_profiles", - "update:self_service_profiles", - "delete:self_service_profiles", - "create:sso_access_tickets", - "delete:sso_access_tickets", - "read:forms", - "update:forms", - "delete:forms", - "create:forms", - "read:flows", - "update:flows", - "delete:flows", - "create:flows", - "read:flows_vault", - "read:flows_vault_connections", - "update:flows_vault_connections", - "delete:flows_vault_connections", - "create:flows_vault_connections", - "read:flows_executions", - "delete:flows_executions", - "read:connections_options", - "update:connections_options", - "read:self_service_profile_custom_texts", - "update:self_service_profile_custom_texts", - "create:network_acls", - "update:network_acls", - "read:network_acls", - "delete:network_acls", - "delete:vdcs_templates", - "read:vdcs_templates", - "create:vdcs_templates", - "update:vdcs_templates", - "create:custom_signing_keys", - "read:custom_signing_keys", - "update:custom_signing_keys", - "delete:custom_signing_keys", - "read:federated_connections_tokens", - "delete:federated_connections_tokens", - "create:user_attribute_profiles", - "read:user_attribute_profiles", - "update:user_attribute_profiles", - "delete:user_attribute_profiles", - "read:event_streams", - "create:event_streams", - "delete:event_streams", - "update:event_streams", - "read:event_deliveries", - "update:event_deliveries", - "create:connection_profiles", - "read:connection_profiles", - "update:connection_profiles", - "delete:connection_profiles", - "read:organization_client_grants", - "create:organization_client_grants", - "delete:organization_client_grants", - "read:security_metrics", - "read:connections_keys", - "update:connections_keys", - "create:connections_keys" + "domains": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/enabled_connections?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "enabled_connections": [], + "start": 0, + "limit": 0, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/enabled_connections?page=1&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "enabled_connections": [], + "start": 0, + "limit": 0, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/client-grants?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "client_grants": [], + "start": 0, + "limit": 50, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/client-grants?page=1&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "client_grants": [], + "start": 50, + "limit": 50, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/discovery-domains?take=50", + "body": "", + "status": 200, + "response": { + "domains": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/discovery-domains?take=50", + "body": "", + "status": 200, + "response": { + "domains": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections?take=50", + "body": "", + "status": 200, + "response": { + "connections": [ + { + "id": "con_itdctyRSC3HQmlX0", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true + }, + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "Username-Password-Authentication" ], - "subject_type": "client" + "enabled_clients": [ + "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + ] } ] }, @@ -13523,7 +13315,7 @@ "subject": "deprecated" } ], - "client_id": "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13572,9 +13364,257 @@ "subject": "deprecated" } ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/client-grants?take=50", + "body": "", + "status": 200, + "response": { + "client_grants": [ + { + "id": "cgr_pbwejzhwoujrsNE8", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:client_credentials", + "update:client_credentials", + "delete:client_credentials", + "create:client_credentials", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations_summary", + "create:authentication_methods", + "read:authentication_methods", + "update:authentication_methods", + "delete:authentication_methods", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "read:organization_discovery_domains", + "update:organization_discovery_domains", + "create:organization_discovery_domains", + "delete:organization_discovery_domains", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations", + "read:scim_config", + "create:scim_config", + "update:scim_config", + "delete:scim_config", + "create:scim_token", + "read:scim_token", + "delete:scim_token", + "delete:phone_providers", + "create:phone_providers", + "read:phone_providers", + "update:phone_providers", + "delete:phone_templates", + "create:phone_templates", + "read:phone_templates", + "update:phone_templates", + "create:encryption_keys", + "read:encryption_keys", + "update:encryption_keys", + "delete:encryption_keys", + "read:sessions", + "update:sessions", + "delete:sessions", + "read:refresh_tokens", + "delete:refresh_tokens", + "create:self_service_profiles", + "read:self_service_profiles", + "update:self_service_profiles", + "delete:self_service_profiles", + "create:sso_access_tickets", + "delete:sso_access_tickets", + "read:forms", + "update:forms", + "delete:forms", + "create:forms", + "read:flows", + "update:flows", + "delete:flows", + "create:flows", + "read:flows_vault", + "read:flows_vault_connections", + "update:flows_vault_connections", + "delete:flows_vault_connections", + "create:flows_vault_connections", + "read:flows_executions", + "delete:flows_executions", + "read:connections_options", + "update:connections_options", + "read:self_service_profile_custom_texts", + "update:self_service_profile_custom_texts", + "create:network_acls", + "update:network_acls", + "read:network_acls", + "delete:network_acls", + "delete:vdcs_templates", + "read:vdcs_templates", + "create:vdcs_templates", + "update:vdcs_templates", + "create:custom_signing_keys", + "read:custom_signing_keys", + "update:custom_signing_keys", + "delete:custom_signing_keys", + "read:federated_connections_tokens", + "delete:federated_connections_tokens", + "create:user_attribute_profiles", + "read:user_attribute_profiles", + "update:user_attribute_profiles", + "delete:user_attribute_profiles", + "read:event_streams", + "create:event_streams", + "delete:event_streams", + "update:event_streams", + "read:event_deliveries", + "update:event_deliveries", + "create:connection_profiles", + "read:connection_profiles", + "update:connection_profiles", + "delete:connection_profiles", + "read:organization_client_grants", + "create:organization_client_grants", + "delete:organization_client_grants", + "read:security_metrics", + "read:connections_keys", + "update:connections_keys", + "create:connections_keys" + ], + "subject_type": "client" } ] }, @@ -13584,7 +13624,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS", + "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE", "body": "", "status": 204, "response": "", @@ -13594,7 +13634,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3", + "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu", "body": "", "status": 204, "response": "", @@ -13609,7 +13649,7 @@ "status": 200, "response": [ { - "id": "lst_0000000000025431", + "id": "lst_0000000000025583", "name": "Suspended DD Log Stream", "type": "datadog", "status": "active", @@ -13620,14 +13660,14 @@ "isPriority": false }, { - "id": "lst_0000000000025432", + "id": "lst_0000000000025584", "name": "Amazon EventBridge", "type": "eventbridge", "status": "active", "sink": { "awsAccountId": "123456789012", "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-84b807b2-8a87-4d4b-87eb-ff1b56370b3a/auth0.logs" + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-baf843b1-5e3d-4cfa-86b7-b0cec812ad73/auth0.logs" }, "filters": [ { @@ -13676,7 +13716,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/log-streams/lst_0000000000025431", + "path": "/api/v2/log-streams/lst_0000000000025583", "body": "", "status": 204, "response": "", @@ -13686,7 +13726,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/log-streams/lst_0000000000025432", + "path": "/api/v2/log-streams/lst_0000000000025584", "body": "", "status": 204, "response": "", @@ -14861,6 +14901,22 @@ "value": "delete:organization_client_grants", "description": "Delete Organization Client Grants" }, + { + "value": "create:token_exchange_profiles", + "description": "Create Token Exchange Profile" + }, + { + "value": "read:token_exchange_profiles", + "description": "Read Token Exchange Profiles" + }, + { + "value": "update:token_exchange_profiles", + "description": "Update Token Exchange Profile" + }, + { + "value": "delete:token_exchange_profiles", + "description": "Delete Token Exchange Profile" + }, { "value": "read:security_metrics", "description": "Read Security Metrics" @@ -14978,7 +15034,7 @@ "subject": "deprecated" } ], - "client_id": "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -15008,7 +15064,7 @@ "response": { "connections": [ { - "id": "con_hKLY3IvYo1iFcMHg", + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -15045,7 +15101,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5", + "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -15057,13 +15113,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_hKLY3IvYo1iFcMHg/clients?take=50", + "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5" + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -15076,13 +15132,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_hKLY3IvYo1iFcMHg/clients?take=50", + "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5" + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -15101,7 +15157,7 @@ "response": { "connections": [ { - "id": "con_hKLY3IvYo1iFcMHg", + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -15138,7 +15194,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5", + "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -15255,7 +15311,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/password_reset", + "path": "/api/v2/email-templates/reset_email", "body": "", "status": 404, "response": { @@ -15270,7 +15326,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email", + "path": "/api/v2/email-templates/verify_email_by_code", "body": "", "status": 404, "response": { @@ -15285,18 +15341,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/welcome_email", + "path": "/api/v2/email-templates/blocked_account", "body": "", - "status": 200, + "status": 404, "response": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" }, "rawHeaders": [], "responseIsBinary": false @@ -15304,7 +15356,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/blocked_account", + "path": "/api/v2/email-templates/reset_email_by_code", "body": "", "status": 404, "response": { @@ -15319,14 +15371,18 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/mfa_oob_code", + "path": "/api/v2/email-templates/welcome_email", "body": "", - "status": 404, + "status": 200, "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "from": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", + "syntax": "liquid", + "urlLifetimeInSeconds": 3600, + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -15334,7 +15390,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/stolen_credentials", + "path": "/api/v2/email-templates/enrollment_email", "body": "", "status": 404, "response": { @@ -15349,7 +15405,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/verify_email_by_code", + "path": "/api/v2/email-templates/stolen_credentials", "body": "", "status": 404, "response": { @@ -15364,7 +15420,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/change_password", + "path": "/api/v2/email-templates/mfa_oob_code", "body": "", "status": 404, "response": { @@ -15379,7 +15435,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/enrollment_email", + "path": "/api/v2/email-templates/password_reset", "body": "", "status": 404, "response": { @@ -15394,7 +15450,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/async_approval", + "path": "/api/v2/email-templates/user_invitation", "body": "", "status": 404, "response": { @@ -15409,7 +15465,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email_by_code", + "path": "/api/v2/email-templates/change_password", "body": "", "status": 404, "response": { @@ -15424,7 +15480,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/user_invitation", + "path": "/api/v2/email-templates/async_approval", "body": "", "status": 404, "response": { @@ -15738,7 +15794,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/guardian/factors/push-notification/providers/sns", + "path": "/api/v2/guardian/factors/sms/providers/twilio", "body": "", "status": 200, "response": {}, @@ -15748,7 +15804,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/guardian/factors/sms/providers/twilio", + "path": "/api/v2/guardian/factors/push-notification/providers/sns", "body": "", "status": 200, "response": {}, @@ -15864,7 +15920,7 @@ }, "credentials": null, "created_at": "2025-12-09T12:24:00.604Z", - "updated_at": "2025-12-09T12:30:28.218Z" + "updated_at": "2025-12-16T05:15:18.469Z" } ] }, @@ -15886,7 +15942,7 @@ "type": "blocked_account", "disabled": false, "created_at": "2025-12-09T12:22:47.683Z", - "updated_at": "2025-12-09T12:30:30.019Z", + "updated_at": "2025-12-16T05:15:21.194Z", "content": { "syntax": "liquid", "body": { @@ -15903,7 +15959,7 @@ "type": "change_password", "disabled": false, "created_at": "2025-12-09T12:26:20.243Z", - "updated_at": "2025-12-09T12:30:30.034Z", + "updated_at": "2025-12-16T05:15:21.476Z", "content": { "syntax": "liquid", "body": { @@ -15919,7 +15975,7 @@ "type": "otp_enroll", "disabled": false, "created_at": "2025-12-09T12:26:25.327Z", - "updated_at": "2025-12-09T12:30:30.174Z", + "updated_at": "2025-12-16T05:15:21.567Z", "content": { "syntax": "liquid", "body": { @@ -15935,7 +15991,7 @@ "type": "otp_verify", "disabled": false, "created_at": "2025-12-09T12:26:30.547Z", - "updated_at": "2025-12-09T12:30:30.365Z", + "updated_at": "2025-12-16T05:15:21.814Z", "content": { "syntax": "liquid", "body": { @@ -16047,7 +16103,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-password/custom-text/en", + "path": "/api/v2/prompts/login-id/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16057,7 +16113,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/custom-text/en", + "path": "/api/v2/prompts/login-password/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16127,7 +16183,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/email-identifier-challenge/custom-text/en", + "path": "/api/v2/prompts/phone-identifier-challenge/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16137,7 +16193,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/phone-identifier-challenge/custom-text/en", + "path": "/api/v2/prompts/email-identifier-challenge/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16277,7 +16333,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/status/custom-text/en", + "path": "/api/v2/prompts/mfa/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16287,7 +16343,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa/custom-text/en", + "path": "/api/v2/prompts/status/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16307,7 +16363,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/email-otp-challenge/custom-text/en", + "path": "/api/v2/prompts/email-verification/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16317,7 +16373,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/email-verification/custom-text/en", + "path": "/api/v2/prompts/email-otp-challenge/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16387,7 +16443,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-password/partials", + "path": "/api/v2/prompts/login/partials", "body": "", "status": 200, "response": {}, @@ -16397,7 +16453,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login/partials", + "path": "/api/v2/prompts/login-password/partials", "body": "", "status": 200, "response": {}, @@ -16480,7 +16536,6 @@ "version": "v2", "status": "DEPRECATED", "runtimes": [ - "node12", "node18" ], "default_runtime": "node16", @@ -16509,6 +16564,7 @@ "version": "v2", "status": "CURRENT", "runtimes": [ + "node12", "node18-actions", "node22" ], @@ -16529,22 +16585,12 @@ "binding_policy": "trigger-bound", "compatible_triggers": [] }, - { - "id": "post-user-registration", - "version": "v1", - "status": "DEPRECATED", - "runtimes": [ - "node12" - ], - "default_runtime": "node12", - "binding_policy": "trigger-bound", - "compatible_triggers": [] - }, { "id": "post-user-registration", "version": "v2", "status": "CURRENT", "runtimes": [ + "node12", "node18-actions", "node22" ], @@ -16648,6 +16694,17 @@ "default_runtime": "node22", "binding_policy": "entity-bound", "compatible_triggers": [] + }, + { + "id": "password-hash-migration", + "version": "v1", + "status": "CURRENT", + "runtimes": [ + "node22" + ], + "default_runtime": "node22", + "binding_policy": "entity-bound", + "compatible_triggers": [] } ] }, @@ -16810,6 +16867,19 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/actions/triggers/password-hash-migration/bindings?page=0&per_page=50", + "body": "", + "status": 200, + "response": { + "bindings": [], + "per_page": 50 + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -16915,7 +16985,7 @@ "subject": "deprecated" } ], - "client_id": "Nk9n91Nc6Ae8Vldm7gCHHqs7oSnUcwT5", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -17036,6 +17106,10 @@ "pre-user-registration": { "max_attempts": 50, "rate": 1200 + }, + "pre-custom-token-exchange": { + "max_attempts": 10, + "rate": 600000 } } }, @@ -17145,7 +17219,7 @@ "name": "Blank-form", "flow_count": 0, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-09T12:35:32.845Z" + "updated_at": "2025-12-16T05:20:48.391Z" } ] }, @@ -17231,7 +17305,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-09T12:35:32.845Z" + "updated_at": "2025-12-16T05:20:48.391Z" }, "rawHeaders": [], "responseIsBinary": false @@ -17239,14 +17313,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "limit": 100, + "limit": 50, "start": 0, "total": 0, - "flows": [] + "connections": [] }, "rawHeaders": [], "responseIsBinary": false @@ -17254,14 +17328,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { - "limit": 50, + "limit": 100, "start": 0, "total": 0, - "connections": [] + "flows": [] }, "rawHeaders": [], "responseIsBinary": false @@ -17269,12 +17343,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { "limit": 50, - "start": 0, + "start": 50, "total": 0, "connections": [] }, @@ -17299,12 +17373,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { "limit": 50, - "start": 0, + "start": 50, "total": 0, "connections": [] }, @@ -17340,7 +17414,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-09T12:35:22.470Z", + "updated_at": "2025-12-16T05:20:33.067Z", "branding": { "colors": { "primary": "#19aecc" @@ -17392,7 +17466,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-09T12:35:08.930Z", + "updated_at": "2025-12-16T05:20:12.065Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] @@ -17454,5 +17528,20 @@ }, "rawHeaders": [], "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/token-exchange-profiles?take=50", + "body": "", + "status": 403, + "response": { + "statusCode": 403, + "error": "Forbidden", + "message": "Insufficient scope, expected any of: read:token_exchange_profiles", + "errorCode": "insufficient_scope" + }, + "rawHeaders": [], + "responseIsBinary": false } ] \ No newline at end of file diff --git a/test/e2e/recordings/should-deploy-without-deleting-resources-if-AUTH0_ALLOW_DELETE-is-false.json b/test/e2e/recordings/should-deploy-without-deleting-resources-if-AUTH0_ALLOW_DELETE-is-false.json index 10e45b352..d0d53b0fd 100644 --- a/test/e2e/recordings/should-deploy-without-deleting-resources-if-AUTH0_ALLOW_DELETE-is-false.json +++ b/test/e2e/recordings/should-deploy-without-deleting-resources-if-AUTH0_ALLOW_DELETE-is-false.json @@ -1170,6 +1170,22 @@ "value": "delete:organization_client_grants", "description": "Delete Organization Client Grants" }, + { + "value": "create:token_exchange_profiles", + "description": "Create Token Exchange Profile" + }, + { + "value": "read:token_exchange_profiles", + "description": "Read Token Exchange Profiles" + }, + { + "value": "update:token_exchange_profiles", + "description": "Update Token Exchange Profile" + }, + { + "value": "delete:token_exchange_profiles", + "description": "Delete Token Exchange Profile" + }, { "value": "read:security_metrics", "description": "Read Security Metrics" @@ -1201,7 +1217,7 @@ "body": "", "status": 200, "response": { - "total": 9, + "total": 2, "start": 0, "limit": 100, "clients": [ @@ -1287,7 +1303,7 @@ "subject": "deprecated" } ], - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1302,392 +1318,322 @@ "client_credentials" ], "custom_login_page_on": true + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "POST", + "path": "/api/v2/clients", + "body": { + "name": "API Explorer Application", + "allowed_clients": [], + "app_type": "non_interactive", + "callbacks": [], + "client_aliases": [], + "client_metadata": {}, + "cross_origin_auth": false, + "custom_login_page_on": true, + "grant_types": [ + "client_credentials" + ], + "is_first_party": true, + "is_token_endpoint_ip_header_trusted": false, + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "native_social_login": { + "apple": { + "enabled": false }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "token_endpoint_auth_method": "client_secret_post" + }, + "status": 201, + "response": { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "encrypted": true, + "signing_keys": [ { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true + "cert": "[REDACTED]", + "key": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" + } + ], + "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "POST", + "path": "/api/v2/clients", + "body": { + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "allowed_origins": [], + "app_type": "regular_web", + "callbacks": [], + "client_aliases": [], + "client_metadata": {}, + "cross_origin_auth": false, + "custom_login_page_on": true, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "is_first_party": true, + "is_token_endpoint_ip_header_trusted": false, + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "native_social_login": { + "apple": { + "enabled": false }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "allowed_origins": [], - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "web_origins": [], - "custom_login_page_on": true + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "token_endpoint_auth_method": "client_secret_post", + "web_origins": [] + }, + "status": 201, + "response": { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "encrypted": true, + "signing_keys": [ { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, + "cert": "[REDACTED]", + "key": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" + } + ], + "allowed_origins": [], + "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "regular_web", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "web_origins": [], + "custom_login_page_on": true + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "POST", + "path": "/api/v2/clients", + "body": { + "name": "Quickstarts API (Test Application)", + "app_type": "non_interactive", + "client_metadata": { + "foo": "bar" + }, + "cross_origin_auth": false, + "custom_login_page_on": true, + "grant_types": [ + "client_credentials" + ], + "is_first_party": true, + "is_token_endpoint_ip_header_trusted": false, + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "token_endpoint_auth_method": "client_secret_post" + }, + "status": 201, + "response": { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "encrypted": true, + "signing_keys": [ { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso": false, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true + "cert": "[REDACTED]", + "key": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } - ] + ], + "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/clients/feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "method": "POST", + "path": "/api/v2/clients", "body": { - "name": "API Explorer Application", - "allowed_clients": [], + "name": "Terraform Provider", "app_type": "non_interactive", - "callbacks": [], - "client_aliases": [], - "client_metadata": {}, "cross_origin_auth": false, "custom_login_page_on": true, "grant_types": [ @@ -1697,15 +1643,8 @@ "is_token_endpoint_ip_header_trusted": false, "jwt_configuration": { "alg": "RS256", - "lifetime_in_seconds": 36000 - }, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } + "lifetime_in_seconds": 36000, + "secret_encoded": false }, "oidc_conformant": true, "refresh_token": { @@ -1720,25 +1659,14 @@ "sso_disabled": false, "token_endpoint_auth_method": "client_secret_post" }, - "status": 200, + "status": 201, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, + "name": "Terraform Provider", "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -1751,14 +1679,16 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "encrypted": true, "signing_keys": [ { "cert": "[REDACTED]", + "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1766,7 +1696,6 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", "app_type": "non_interactive", "grant_types": [ @@ -1779,14 +1708,11 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/clients/xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "method": "POST", + "path": "/api/v2/clients", "body": { - "name": "Node App", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [], - "allowed_origins": [], - "app_type": "regular_web", "callbacks": [], "client_aliases": [], "client_metadata": {}, @@ -1802,7 +1728,8 @@ "is_token_endpoint_ip_header_trusted": false, "jwt_configuration": { "alg": "RS256", - "lifetime_in_seconds": 36000 + "lifetime_in_seconds": 36000, + "secret_encoded": false }, "native_social_login": { "apple": { @@ -1812,28 +1739,27 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post", - "web_origins": [] + "token_endpoint_auth_method": "client_secret_post" }, - "status": 200, + "status": 201, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [], "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, @@ -1846,27 +1772,29 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "encrypted": true, "signing_keys": [ { "cert": "[REDACTED]", + "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "allowed_origins": [], - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1876,14 +1804,12 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", "grant_types": [ "authorization_code", "implicit", "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, "rawHeaders": [], @@ -1891,145 +1817,104 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/clients/c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "method": "POST", + "path": "/api/v2/clients", "body": { - "name": "Quickstarts API (Test Application)", - "app_type": "non_interactive", - "client_metadata": { - "foo": "bar" - }, + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "app_type": "spa", + "callbacks": [ + "http://localhost:3000" + ], + "client_aliases": [], + "client_metadata": {}, "cross_origin_auth": false, "custom_login_page_on": true, "grant_types": [ - "client_credentials" + "authorization_code", + "implicit", + "refresh_token" ], "is_first_party": true, "is_token_endpoint_ip_header_trusted": false, "jwt_configuration": { "alg": "RS256", - "lifetime_in_seconds": 36000 + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } }, "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post" + "token_endpoint_auth_method": "none", + "web_origins": [ + "http://localhost:3000" + ] }, - "status": 200, + "status": 201, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" - } + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" ], - "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" + "callbacks": [ + "http://localhost:3000" ], - "custom_login_page_on": true - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/clients/3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", - "body": { - "name": "Terraform Provider", - "app_type": "non_interactive", + "client_metadata": {}, "cross_origin_auth": false, - "custom_login_page_on": true, - "grant_types": [ - "client_credentials" - ], "is_first_party": true, - "is_token_endpoint_ip_header_trusted": false, - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000 - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } }, - "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post" - }, - "status": 200, - "response": { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", - "cross_origin_auth": false, - "is_first_party": true, "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, "sso_disabled": false, "cross_origin_authentication": false, + "encrypted": true, "signing_keys": [ { "cert": "[REDACTED]", + "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2037,10 +1922,16 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "client_aliases": [], + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ - "client_credentials" + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -2049,27 +1940,26 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/clients/ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "method": "POST", + "path": "/api/v2/clients", "body": { - "name": "The Default App", + "name": "auth0-deploy-cli-extension", "allowed_clients": [], + "app_type": "non_interactive", "callbacks": [], "client_aliases": [], "client_metadata": {}, "cross_origin_auth": false, "custom_login_page_on": true, "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], "is_first_party": true, "is_token_endpoint_ip_header_trusted": false, "jwt_configuration": { "alg": "RS256", - "lifetime_in_seconds": 36000 + "lifetime_in_seconds": 36000, + "secret_encoded": false }, "native_social_login": { "apple": { @@ -2079,26 +1969,25 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "sso": false, "sso_disabled": false, "token_endpoint_auth_method": "client_secret_post" }, - "status": 200, + "status": 201, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], "client_metadata": {}, @@ -2112,27 +2001,28 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "encrypted": true, "signing_keys": [ { "cert": "[REDACTED]", + "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2142,10 +2032,8 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -2155,220 +2043,14 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/clients/3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "method": "PUT", + "path": "/api/v2/guardian/factors/duo", "body": { - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "app_type": "spa", - "callbacks": [ - "http://localhost:3000" - ], - "client_aliases": [], - "client_metadata": {}, - "cross_origin_auth": false, - "custom_login_page_on": true, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "is_first_party": true, - "is_token_endpoint_ip_header_trusted": false, - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000 - }, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "token_endpoint_auth_method": "none", - "web_origins": [ - "http://localhost:3000" - ] + "enabled": false }, "status": 200, "response": { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" - } - ], - "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/clients/XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "body": { - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "app_type": "non_interactive", - "callbacks": [], - "client_aliases": [], - "client_metadata": {}, - "cross_origin_auth": false, - "custom_login_page_on": true, - "grant_types": [ - "client_credentials" - ], - "is_first_party": true, - "is_token_endpoint_ip_header_trusted": false, - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000 - }, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post" - }, - "status": 200, - "response": { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" - } - ], - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -2387,20 +2069,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PUT", - "path": "/api/v2/guardian/factors/duo", - "body": { - "enabled": false - }, - "status": 200, - "response": { - "enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", @@ -2418,13 +2086,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/push-notification", "body": { - "enabled": false + "enabled": true }, "status": 200, "response": { - "enabled": false + "enabled": true }, "rawHeaders": [], "responseIsBinary": false @@ -2460,13 +2128,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/push-notification", + "path": "/api/v2/guardian/factors/sms", "body": { - "enabled": true + "enabled": false }, "status": 200, "response": { - "enabled": true + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -2552,54 +2220,7 @@ "response": { "actions": [ { - "id": "4273221d-f20e-44e6-aa9d-d45702782e4e", - "name": "My Custom Action", - "supported_triggers": [ - { - "id": "post-login", - "version": "v2" - } - ], - "created_at": "2025-12-05T14:18:53.100690661Z", - "updated_at": "2025-12-09T12:30:12.235100452Z", - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "dependencies": [], - "runtime": "node18", - "status": "built", - "secrets": [], - "current_version": { - "id": "0add2116-19c1-4f2d-b66a-3592d7d38559", - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "runtime": "node18", - "status": "BUILT", - "number": 6, - "build_time": "2025-12-09T12:30:13.134919313Z", - "created_at": "2025-12-09T12:30:12.969210112Z", - "updated_at": "2025-12-09T12:30:13.136114182Z" - }, - "deployed_version": { - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "dependencies": [], - "id": "0add2116-19c1-4f2d-b66a-3592d7d38559", - "deployed": true, - "number": 6, - "built_at": "2025-12-09T12:30:13.134919313Z", - "secrets": [], - "status": "built", - "created_at": "2025-12-09T12:30:12.969210112Z", - "updated_at": "2025-12-09T12:30:13.136114182Z", - "runtime": "node18", - "supported_triggers": [ - { - "id": "post-login", - "version": "v2" - } - ] - }, - "all_changes_deployed": true - }, - { - "id": "50d86033-6bc2-4ceb-8991-d14c85d2e304", + "id": "40d899f3-a209-42a2-a3ed-39e764dcbc33", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -2607,34 +2228,34 @@ "version": "v1" } ], - "created_at": "2025-12-09T12:23:14.388072786Z", - "updated_at": "2025-12-09T12:30:12.235258402Z", + "created_at": "2025-12-11T11:30:13.629492200Z", + "updated_at": "2025-12-16T05:15:01.577210494Z", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], "runtime": "node22", "status": "built", "secrets": [], "current_version": { - "id": "23bfff1b-d5bb-4f29-bcd5-d5a8779a6843", + "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "runtime": "node22", "status": "BUILT", - "number": 3, - "build_time": "2025-12-09T12:30:13.066221969Z", - "created_at": "2025-12-09T12:30:12.977011820Z", - "updated_at": "2025-12-09T12:30:13.067900742Z" + "number": 5, + "build_time": "2025-12-16T05:15:03.730905338Z", + "created_at": "2025-12-16T05:15:03.656132145Z", + "updated_at": "2025-12-16T05:15:03.732003986Z" }, "deployed_version": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "23bfff1b-d5bb-4f29-bcd5-d5a8779a6843", + "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", "deployed": true, - "number": 3, - "built_at": "2025-12-09T12:30:13.066221969Z", + "number": 5, + "built_at": "2025-12-16T05:15:03.730905338Z", "secrets": [], "status": "built", - "created_at": "2025-12-09T12:30:12.977011820Z", - "updated_at": "2025-12-09T12:30:13.067900742Z", + "created_at": "2025-12-16T05:15:03.656132145Z", + "updated_at": "2025-12-16T05:15:03.732003986Z", "runtime": "node22", "supported_triggers": [ { @@ -2646,7 +2267,7 @@ "all_changes_deployed": true } ], - "total": 2, + "total": 1, "per_page": 100 }, "rawHeaders": [], @@ -2654,8 +2275,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/actions/actions/4273221d-f20e-44e6-aa9d-d45702782e4e", + "method": "POST", + "path": "/api/v2/actions/actions", "body": { "name": "My Custom Action", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", @@ -2669,9 +2290,9 @@ } ] }, - "status": 200, + "status": 201, "response": { - "id": "4273221d-f20e-44e6-aa9d-d45702782e4e", + "id": "e69869b2-169a-4df9-9326-4447818092f6", "name": "My Custom Action", "supported_triggers": [ { @@ -2679,43 +2300,14 @@ "version": "v2" } ], - "created_at": "2025-12-05T14:18:53.100690661Z", - "updated_at": "2025-12-09T12:31:15.977676526Z", + "created_at": "2025-12-16T05:17:04.860907359Z", + "updated_at": "2025-12-16T05:17:04.867817351Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "pending", "secrets": [], - "current_version": { - "id": "0add2116-19c1-4f2d-b66a-3592d7d38559", - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "runtime": "node18", - "status": "BUILT", - "number": 6, - "build_time": "2025-12-09T12:30:13.134919313Z", - "created_at": "2025-12-09T12:30:12.969210112Z", - "updated_at": "2025-12-09T12:30:13.136114182Z" - }, - "deployed_version": { - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "dependencies": [], - "id": "0add2116-19c1-4f2d-b66a-3592d7d38559", - "deployed": true, - "number": 6, - "built_at": "2025-12-09T12:30:13.134919313Z", - "secrets": [], - "status": "built", - "created_at": "2025-12-09T12:30:12.969210112Z", - "updated_at": "2025-12-09T12:30:13.136114182Z", - "runtime": "node18", - "supported_triggers": [ - { - "id": "post-login", - "version": "v2" - } - ] - }, - "all_changes_deployed": true + "all_changes_deployed": false }, "rawHeaders": [], "responseIsBinary": false @@ -2729,54 +2321,7 @@ "response": { "actions": [ { - "id": "4273221d-f20e-44e6-aa9d-d45702782e4e", - "name": "My Custom Action", - "supported_triggers": [ - { - "id": "post-login", - "version": "v2" - } - ], - "created_at": "2025-12-05T14:18:53.100690661Z", - "updated_at": "2025-12-09T12:31:15.977676526Z", - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "dependencies": [], - "runtime": "node18", - "status": "built", - "secrets": [], - "current_version": { - "id": "0add2116-19c1-4f2d-b66a-3592d7d38559", - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "runtime": "node18", - "status": "BUILT", - "number": 6, - "build_time": "2025-12-09T12:30:13.134919313Z", - "created_at": "2025-12-09T12:30:12.969210112Z", - "updated_at": "2025-12-09T12:30:13.136114182Z" - }, - "deployed_version": { - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "dependencies": [], - "id": "0add2116-19c1-4f2d-b66a-3592d7d38559", - "deployed": true, - "number": 6, - "built_at": "2025-12-09T12:30:13.134919313Z", - "secrets": [], - "status": "built", - "created_at": "2025-12-09T12:30:12.969210112Z", - "updated_at": "2025-12-09T12:30:13.136114182Z", - "runtime": "node18", - "supported_triggers": [ - { - "id": "post-login", - "version": "v2" - } - ] - }, - "all_changes_deployed": true - }, - { - "id": "50d86033-6bc2-4ceb-8991-d14c85d2e304", + "id": "40d899f3-a209-42a2-a3ed-39e764dcbc33", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -2784,34 +2329,34 @@ "version": "v1" } ], - "created_at": "2025-12-09T12:23:14.388072786Z", - "updated_at": "2025-12-09T12:30:12.235258402Z", + "created_at": "2025-12-11T11:30:13.629492200Z", + "updated_at": "2025-12-16T05:15:01.577210494Z", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], "runtime": "node22", "status": "built", "secrets": [], "current_version": { - "id": "23bfff1b-d5bb-4f29-bcd5-d5a8779a6843", + "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "runtime": "node22", "status": "BUILT", - "number": 3, - "build_time": "2025-12-09T12:30:13.066221969Z", - "created_at": "2025-12-09T12:30:12.977011820Z", - "updated_at": "2025-12-09T12:30:13.067900742Z" + "number": 5, + "build_time": "2025-12-16T05:15:03.730905338Z", + "created_at": "2025-12-16T05:15:03.656132145Z", + "updated_at": "2025-12-16T05:15:03.732003986Z" }, "deployed_version": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "23bfff1b-d5bb-4f29-bcd5-d5a8779a6843", + "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", "deployed": true, - "number": 3, - "built_at": "2025-12-09T12:30:13.066221969Z", + "number": 5, + "built_at": "2025-12-16T05:15:03.730905338Z", "secrets": [], "status": "built", - "created_at": "2025-12-09T12:30:12.977011820Z", - "updated_at": "2025-12-09T12:30:13.067900742Z", + "created_at": "2025-12-16T05:15:03.656132145Z", + "updated_at": "2025-12-16T05:15:03.732003986Z", "runtime": "node22", "supported_triggers": [ { @@ -2821,6 +2366,24 @@ ] }, "all_changes_deployed": true + }, + { + "id": "e69869b2-169a-4df9-9326-4447818092f6", + "name": "My Custom Action", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ], + "created_at": "2025-12-16T05:17:04.860907359Z", + "updated_at": "2025-12-16T05:17:04.867817351Z", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "dependencies": [], + "runtime": "node18", + "status": "built", + "secrets": [], + "all_changes_deployed": false } ], "total": 2, @@ -2832,19 +2395,19 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "POST", - "path": "/api/v2/actions/actions/4273221d-f20e-44e6-aa9d-d45702782e4e/deploy", + "path": "/api/v2/actions/actions/e69869b2-169a-4df9-9326-4447818092f6/deploy", "body": "", "status": 200, "response": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "a20b7a92-0d6e-4926-9226-fb83db144dae", + "id": "a4d7af33-adee-49de-9898-744df792436e", "deployed": false, - "number": 7, + "number": 1, "secrets": [], "status": "built", - "created_at": "2025-12-09T12:31:16.719266241Z", - "updated_at": "2025-12-09T12:31:16.719266241Z", + "created_at": "2025-12-16T05:17:06.028561552Z", + "updated_at": "2025-12-16T05:17:06.028561552Z", "runtime": "node18", "supported_triggers": [ { @@ -2853,7 +2416,7 @@ } ], "action": { - "id": "4273221d-f20e-44e6-aa9d-d45702782e4e", + "id": "e69869b2-169a-4df9-9326-4447818092f6", "name": "My Custom Action", "supported_triggers": [ { @@ -2861,8 +2424,8 @@ "version": "v2" } ], - "created_at": "2025-12-05T14:18:53.100690661Z", - "updated_at": "2025-12-09T12:31:15.968509992Z", + "created_at": "2025-12-16T05:17:04.860907359Z", + "updated_at": "2025-12-16T05:17:04.860907359Z", "all_changes_deployed": false } }, @@ -2872,53 +2435,47 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/attack-protection/brute-force-protection", + "path": "/api/v2/attack-protection/suspicious-ip-throttling", "body": { "enabled": true, "shields": [ - "block", - "user_notification" + "admin_notification" ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 66 + "allowlist": [ + "127.0.0.1" + ], + "stage": { + "pre-login": { + "max_attempts": 66, + "rate": 864000 + }, + "pre-user-registration": { + "max_attempts": 66, + "rate": 1200 + } + } }, "status": 200, "response": { "enabled": true, "shields": [ - "block", - "user_notification" + "admin_notification" + ], + "allowlist": [ + "127.0.0.1" ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 66 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/breached-password-detection", - "body": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard" - }, - "status": 200, - "response": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard", "stage": { + "pre-login": { + "max_attempts": 66, + "rate": 864000 + }, "pre-user-registration": { - "shields": [] + "max_attempts": 66, + "rate": 1200 }, - "pre-change-password": { - "shields": [] + "pre-custom-token-exchange": { + "max_attempts": 10, + "rate": 600000 } } }, @@ -2928,43 +2485,53 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/attack-protection/suspicious-ip-throttling", + "path": "/api/v2/attack-protection/brute-force-protection", "body": { "enabled": true, "shields": [ - "admin_notification" - ], - "allowlist": [ - "127.0.0.1" + "block", + "user_notification" ], - "stage": { - "pre-login": { - "max_attempts": 66, - "rate": 864000 - }, - "pre-user-registration": { - "max_attempts": 66, - "rate": 1200 - } - } + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 66 }, "status": 200, "response": { "enabled": true, "shields": [ - "admin_notification" - ], - "allowlist": [ - "127.0.0.1" + "block", + "user_notification" ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 66 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/breached-password-detection", + "body": { + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard" + }, + "status": 200, + "response": { + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard", "stage": { - "pre-login": { - "max_attempts": 66, - "rate": 864000 - }, "pre-user-registration": { - "max_attempts": 66, - "rate": 1200 + "shields": [] + }, + "pre-change-password": { + "shields": [] } } }, @@ -2998,7 +2565,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-09T12:30:14.491Z", + "updated_at": "2025-12-16T05:15:07.563Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] @@ -3043,7 +2610,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-09T12:31:17.804Z", + "updated_at": "2025-12-16T05:17:08.381Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" }, "rawHeaders": [], @@ -3285,7 +2852,7 @@ "subject": "deprecated" } ], - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3338,7 +2905,7 @@ "subject": "deprecated" } ], - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3383,7 +2950,7 @@ "subject": "deprecated" } ], - "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3437,7 +3004,7 @@ } ], "allowed_origins": [], - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3483,7 +3050,7 @@ "subject": "deprecated" } ], - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3536,7 +3103,7 @@ "subject": "deprecated" } ], - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3596,7 +3163,7 @@ "subject": "deprecated" } ], - "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3654,7 +3221,7 @@ "subject": "deprecated" } ], - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3721,75 +3288,7 @@ "response": { "connections": [ { - "id": "con_bBSD5AQUW0Q5aLuE", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true - }, - "strategy": "auth0", - "name": "boo-baz-db-connection-test", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "boo-baz-db-connection-test" - ], - "enabled_clients": [ - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" - ] - }, - { - "id": "con_CfDqv7jPXpFqETeK", + "id": "con_4jeiJ5EmqMspBjmK", "options": { "mfa": { "active": true, @@ -3826,7 +3325,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -3844,75 +3343,7 @@ "response": { "connections": [ { - "id": "con_bBSD5AQUW0Q5aLuE", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true - }, - "strategy": "auth0", - "name": "boo-baz-db-connection-test", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "boo-baz-db-connection-test" - ], - "enabled_clients": [ - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" - ] - }, - { - "id": "con_CfDqv7jPXpFqETeK", + "id": "con_4jeiJ5EmqMspBjmK", "options": { "mfa": { "active": true, @@ -3949,7 +3380,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -3961,32 +3392,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ - { - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" - }, - { - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients?take=50", + "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -3999,32 +3411,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ - { - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" - }, - { - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients?take=50", + "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -4036,12 +3429,16 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE", - "body": "", - "status": 200, - "response": { - "id": "con_bBSD5AQUW0Q5aLuE", + "method": "POST", + "path": "/api/v2/connections", + "body": { + "name": "boo-baz-db-connection-test", + "strategy": "auth0", + "enabled_clients": [ + "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + ], + "is_domain_connection": false, "options": { "mfa": { "active": true, @@ -4049,20 +3446,15 @@ }, "import_mode": false, "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" }, "disable_signup": false, "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, "password_history": { "size": 5, "enable": false @@ -4073,15 +3465,6 @@ "enable": true, "dictionary": [] }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, "brute_force_protection": true, "password_no_personal_info": { "enable": true @@ -4091,41 +3474,19 @@ }, "enabledDatabaseCustomization": true }, - "strategy": "auth0", - "name": "boo-baz-db-connection-test", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "enabled_clients": [ - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" - ], "realms": [ "boo-baz-db-connection-test" ] }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE", - "body": { - "enabled_clients": [ - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" - ], - "is_domain_connection": false, + "status": 201, + "response": { + "id": "con_5m5GpC2yhTh0g4cn", "options": { "mfa": { "active": true, "return_enroll_settings": true }, + "passwordPolicy": "low", "import_mode": false, "customScripts": { "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", @@ -4136,12 +3497,6 @@ "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" }, "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, "password_history": { "size": 5, "enable": false @@ -4152,15 +3507,6 @@ "enable": true, "dictionary": [] }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, "brute_force_protection": true, "password_no_personal_info": { "enable": true @@ -4168,63 +3514,21 @@ "password_complexity_options": { "min_length": 8 }, - "enabledDatabaseCustomization": true - }, - "realms": [ - "boo-baz-db-connection-test" - ] - }, - "status": 200, - "response": { - "id": "con_bBSD5AQUW0Q5aLuE", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, + "enabledDatabaseCustomization": true, "authentication_methods": { - "passkey": { - "enabled": false - }, "password": { "enabled": true, "api_behavior": "required" + }, + "passkey": { + "enabled": false } }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true + "passkey_options": { + "challenge_ui": "both", + "progressive_enrollment_enabled": true, + "local_enrollment_enabled": true + } }, "strategy": "auth0", "name": "boo-baz-db-connection-test", @@ -4236,8 +3540,8 @@ "active": false }, "enabled_clients": [ - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" ], "realms": [ "boo-baz-db-connection-test" @@ -4246,17 +3550,98 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections?take=1&name=boo-baz-db-connection-test&include_fields=true", + "body": "", + "status": 200, + "response": { + "connections": [ + { + "id": "con_5m5GpC2yhTh0g4cn", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "import_mode": false, + "customScripts": { + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "password_history": { + "size": 5, + "enable": false + }, + "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true + }, + "strategy": "auth0", + "name": "boo-baz-db-connection-test", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "boo-baz-db-connection-test" + ], + "enabled_clients": [ + "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + ] + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients", + "path": "/api/v2/connections/con_5m5GpC2yhTh0g4cn/clients", "body": [ { - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", "status": true }, { - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", "status": true } ], @@ -4358,7 +3743,7 @@ "subject": "deprecated" } ], - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4411,7 +3796,7 @@ "subject": "deprecated" } ], - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4456,7 +3841,7 @@ "subject": "deprecated" } ], - "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4510,7 +3895,7 @@ } ], "allowed_origins": [], - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4556,7 +3941,7 @@ "subject": "deprecated" } ], - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4609,7 +3994,7 @@ "subject": "deprecated" } ], - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4669,7 +4054,7 @@ "subject": "deprecated" } ], - "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4727,7 +4112,7 @@ "subject": "deprecated" } ], - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4794,7 +4179,7 @@ "response": { "connections": [ { - "id": "con_bBSD5AQUW0Q5aLuE", + "id": "con_5m5GpC2yhTh0g4cn", "options": { "mfa": { "active": true, @@ -4857,39 +4242,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" - ] - }, - { - "id": "con_yGZ6rzfkdR6mMBoE", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "google-oauth2" - ], - "enabled_clients": [ - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" + "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" ] }, { - "id": "con_CfDqv7jPXpFqETeK", + "id": "con_4jeiJ5EmqMspBjmK", "options": { "mfa": { "active": true, @@ -4926,7 +4284,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -4944,7 +4302,7 @@ "response": { "connections": [ { - "id": "con_bBSD5AQUW0Q5aLuE", + "id": "con_5m5GpC2yhTh0g4cn", "options": { "mfa": { "active": true, @@ -5007,39 +4365,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" - ] - }, - { - "id": "con_yGZ6rzfkdR6mMBoE", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "google-oauth2" - ], - "enabled_clients": [ - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" + "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" ] }, { - "id": "con_CfDqv7jPXpFqETeK", + "id": "con_4jeiJ5EmqMspBjmK", "options": { "mfa": { "active": true, @@ -5076,7 +4407,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -5087,64 +4418,28 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients?take=50", - "body": "", - "status": 200, + "method": "POST", + "path": "/api/v2/connections", + "body": { + "name": "google-oauth2", + "strategy": "google-oauth2", + "enabled_clients": [ + "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", + "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + ], + "is_domain_connection": false, + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + } + }, + "status": 201, "response": { - "clients": [ - { - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" - }, - { - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ - { - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" - }, - { - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE", - "body": { - "enabled_clients": [ - "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" - ], - "is_domain_connection": false, - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - } - }, - "status": 200, - "response": { - "id": "con_yGZ6rzfkdR6mMBoE", + "id": "con_ZxRMPXT6qTFWMFqC", "options": { "email": true, "scope": [ @@ -5163,8 +4458,8 @@ "active": false }, "enabled_clients": [ - "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH" ], "realms": [ "google-oauth2" @@ -5173,17 +4468,57 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections?take=1&name=google-oauth2&include_fields=true", + "body": "", + "status": 200, + "response": { + "connections": [ + { + "id": "con_ZxRMPXT6qTFWMFqC", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + }, + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "google-oauth2" + ], + "enabled_clients": [ + "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH" + ] + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients", + "path": "/api/v2/connections/con_ZxRMPXT6qTFWMFqC/clients", "body": [ { - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", "status": true }, { - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", "status": true } ], @@ -5322,7 +4657,7 @@ "subject": "deprecated" } ], - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5375,7 +4710,7 @@ "subject": "deprecated" } ], - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5420,7 +4755,7 @@ "subject": "deprecated" } ], - "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5474,7 +4809,7 @@ } ], "allowed_origins": [], - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5520,7 +4855,7 @@ "subject": "deprecated" } ], - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5573,7 +4908,7 @@ "subject": "deprecated" } ], - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5633,7 +4968,7 @@ "subject": "deprecated" } ], - "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5691,7 +5026,7 @@ "subject": "deprecated" } ], - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5758,8 +5093,8 @@ "response": { "client_grants": [ { - "id": "cgr_JYmQHwQEXGDCc53P", - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "id": "cgr_pbwejzhwoujrsNE8", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -5786,6 +5121,10 @@ "update:client_keys", "delete:client_keys", "create:client_keys", + "read:client_credentials", + "update:client_credentials", + "delete:client_credentials", + "create:client_credentials", "read:connections", "update:connections", "delete:connections", @@ -5875,10 +5214,19 @@ "read:entitlements", "read:attack_protection", "update:attack_protection", + "read:organizations_summary", + "create:authentication_methods", + "read:authentication_methods", + "update:authentication_methods", + "delete:authentication_methods", "read:organizations", "update:organizations", "create:organizations", "delete:organizations", + "read:organization_discovery_domains", + "update:organization_discovery_domains", + "create:organization_discovery_domains", + "delete:organization_discovery_domains", "create:organization_members", "read:organization_members", "delete:organization_members", @@ -5891,1855 +5239,93 @@ "delete:organization_member_roles", "create:organization_invitations", "read:organization_invitations", - "delete:organization_invitations" + "delete:organization_invitations", + "read:scim_config", + "create:scim_config", + "update:scim_config", + "delete:scim_config", + "create:scim_token", + "read:scim_token", + "delete:scim_token", + "delete:phone_providers", + "create:phone_providers", + "read:phone_providers", + "update:phone_providers", + "delete:phone_templates", + "create:phone_templates", + "read:phone_templates", + "update:phone_templates", + "create:encryption_keys", + "read:encryption_keys", + "update:encryption_keys", + "delete:encryption_keys", + "read:sessions", + "update:sessions", + "delete:sessions", + "read:refresh_tokens", + "delete:refresh_tokens", + "create:self_service_profiles", + "read:self_service_profiles", + "update:self_service_profiles", + "delete:self_service_profiles", + "create:sso_access_tickets", + "delete:sso_access_tickets", + "read:forms", + "update:forms", + "delete:forms", + "create:forms", + "read:flows", + "update:flows", + "delete:flows", + "create:flows", + "read:flows_vault", + "read:flows_vault_connections", + "update:flows_vault_connections", + "delete:flows_vault_connections", + "create:flows_vault_connections", + "read:flows_executions", + "delete:flows_executions", + "read:connections_options", + "update:connections_options", + "read:self_service_profile_custom_texts", + "update:self_service_profile_custom_texts", + "create:network_acls", + "update:network_acls", + "read:network_acls", + "delete:network_acls", + "delete:vdcs_templates", + "read:vdcs_templates", + "create:vdcs_templates", + "update:vdcs_templates", + "create:custom_signing_keys", + "read:custom_signing_keys", + "update:custom_signing_keys", + "delete:custom_signing_keys", + "read:federated_connections_tokens", + "delete:federated_connections_tokens", + "create:user_attribute_profiles", + "read:user_attribute_profiles", + "update:user_attribute_profiles", + "delete:user_attribute_profiles", + "read:event_streams", + "create:event_streams", + "delete:event_streams", + "update:event_streams", + "read:event_deliveries", + "update:event_deliveries", + "create:connection_profiles", + "read:connection_profiles", + "update:connection_profiles", + "delete:connection_profiles", + "read:organization_client_grants", + "create:organization_client_grants", + "delete:organization_client_grants", + "read:security_metrics", + "read:connections_keys", + "update:connections_keys", + "create:connections_keys" ], "subject_type": "client" - }, - { - "id": "cgr_ReJeayDzA8FTvFPY", - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" - ], - "subject_type": "client" - }, - { - "id": "cgr_pbwejzhwoujrsNE8", - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:client_credentials", - "update:client_credentials", - "delete:client_credentials", - "create:client_credentials", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations_summary", - "create:authentication_methods", - "read:authentication_methods", - "update:authentication_methods", - "delete:authentication_methods", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "read:organization_discovery_domains", - "update:organization_discovery_domains", - "create:organization_discovery_domains", - "delete:organization_discovery_domains", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations", - "read:scim_config", - "create:scim_config", - "update:scim_config", - "delete:scim_config", - "create:scim_token", - "read:scim_token", - "delete:scim_token", - "delete:phone_providers", - "create:phone_providers", - "read:phone_providers", - "update:phone_providers", - "delete:phone_templates", - "create:phone_templates", - "read:phone_templates", - "update:phone_templates", - "create:encryption_keys", - "read:encryption_keys", - "update:encryption_keys", - "delete:encryption_keys", - "read:sessions", - "update:sessions", - "delete:sessions", - "read:refresh_tokens", - "delete:refresh_tokens", - "create:self_service_profiles", - "read:self_service_profiles", - "update:self_service_profiles", - "delete:self_service_profiles", - "create:sso_access_tickets", - "delete:sso_access_tickets", - "read:forms", - "update:forms", - "delete:forms", - "create:forms", - "read:flows", - "update:flows", - "delete:flows", - "create:flows", - "read:flows_vault", - "read:flows_vault_connections", - "update:flows_vault_connections", - "delete:flows_vault_connections", - "create:flows_vault_connections", - "read:flows_executions", - "delete:flows_executions", - "read:connections_options", - "update:connections_options", - "read:self_service_profile_custom_texts", - "update:self_service_profile_custom_texts", - "create:network_acls", - "update:network_acls", - "read:network_acls", - "delete:network_acls", - "delete:vdcs_templates", - "read:vdcs_templates", - "create:vdcs_templates", - "update:vdcs_templates", - "create:custom_signing_keys", - "read:custom_signing_keys", - "update:custom_signing_keys", - "delete:custom_signing_keys", - "read:federated_connections_tokens", - "delete:federated_connections_tokens", - "create:user_attribute_profiles", - "read:user_attribute_profiles", - "update:user_attribute_profiles", - "delete:user_attribute_profiles", - "read:event_streams", - "create:event_streams", - "delete:event_streams", - "update:event_streams", - "read:event_deliveries", - "update:event_deliveries", - "create:connection_profiles", - "read:connection_profiles", - "update:connection_profiles", - "delete:connection_profiles", - "read:organization_client_grants", - "create:organization_client_grants", - "delete:organization_client_grants", - "read:security_metrics", - "read:connections_keys", - "update:connections_keys", - "create:connections_keys" - ], - "subject_type": "client" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/client-grants/cgr_ReJeayDzA8FTvFPY", - "body": { - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" - ] - }, - "status": 200, - "response": { - "id": "cgr_ReJeayDzA8FTvFPY", - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" - ], - "subject_type": "client" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/client-grants/cgr_JYmQHwQEXGDCc53P", - "body": { - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" - ] - }, - "status": 200, - "response": { - "id": "cgr_JYmQHwQEXGDCc53P", - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" - ], - "subject_type": "client" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "roles": [ - { - "id": "rol_EH7ASyHIXKqKPc4X", - "name": "Admin", - "description": "Can read and write things" - }, - { - "id": "rol_WHMW5tI8GYuTShEL", - "name": "Reader", - "description": "Can only read things" - }, - { - "id": "rol_dkoJYFPEbm4fBQUa", - "name": "read_only", - "description": "Read Only" - }, - { - "id": "rol_6mNIPtAC2wBSBD7S", - "name": "read_osnly", - "description": "Readz Only" - } - ], - "start": 0, - "limit": 100, - "total": 4 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X", - "body": { - "name": "Admin", - "description": "Can read and write things" - }, - "status": 200, - "response": { - "id": "rol_EH7ASyHIXKqKPc4X", - "name": "Admin", - "description": "Can read and write things" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL", - "body": { - "name": "Reader", - "description": "Can only read things" - }, - "status": 200, - "response": { - "id": "rol_WHMW5tI8GYuTShEL", - "name": "Reader", - "description": "Can only read things" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa", - "body": { - "name": "read_only", - "description": "Read Only" - }, - "status": 200, - "response": { - "id": "rol_dkoJYFPEbm4fBQUa", - "name": "read_only", - "description": "Read Only" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S", - "body": { - "name": "read_osnly", - "description": "Readz Only" - }, - "status": 200, - "response": { - "id": "rol_6mNIPtAC2wBSBD7S", - "name": "read_osnly", - "description": "Readz Only" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/self-service-profiles?page=0&per_page=100&include_totals=true", - "body": "", - "status": 200, - "response": { - "self_service_profiles": [ - { - "id": "ssp_f6qt3syGauLKbSgt6GRLim", - "name": "self-service-profile-1", - "description": "test description self-service-profile-1", - "user_attributes": [ - { - "name": "email", - "description": "Email of the User", - "is_optional": false - }, - { - "name": "name", - "description": "Name of the User", - "is_optional": true - } - ], - "allowed_strategies": [ - "google-apps", - "okta" - ], - "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-09T12:30:29.308Z", - "branding": { - "colors": { - "primary": "#19aecc" - } - } - } - ], - "start": 0, - "limit": 100, - "total": 1 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/self-service-profiles/ssp_f6qt3syGauLKbSgt6GRLim/custom-text/en/get-started", - "body": "", - "status": 200, - "response": {}, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/self-service-profiles/ssp_f6qt3syGauLKbSgt6GRLim", - "body": { - "name": "self-service-profile-1", - "allowed_strategies": [ - "google-apps", - "okta" - ], - "branding": { - "colors": { - "primary": "#19aecc" - } - }, - "description": "test description self-service-profile-1", - "user_attributes": [ - { - "name": "email", - "description": "Email of the User", - "is_optional": false - }, - { - "name": "name", - "description": "Name of the User", - "is_optional": true - } - ] - }, - "status": 200, - "response": { - "id": "ssp_f6qt3syGauLKbSgt6GRLim", - "name": "self-service-profile-1", - "description": "test description self-service-profile-1", - "user_attributes": [ - { - "name": "email", - "description": "Email of the User", - "is_optional": false - }, - { - "name": "name", - "description": "Name of the User", - "is_optional": true - } - ], - "allowed_strategies": [ - "google-apps", - "okta" - ], - "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-09T12:31:31.782Z", - "branding": { - "colors": { - "primary": "#19aecc" - } - } - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/email-templates/verify_email", - "body": { - "template": "verify_email", - "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", - "enabled": true, - "from": "", - "subject": "", - "syntax": "liquid", - "urlLifetimeInSeconds": 432000 - }, - "status": 200, - "response": { - "template": "verify_email", - "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", - "from": "", - "subject": "", - "syntax": "liquid", - "urlLifetimeInSeconds": 432000, - "enabled": true - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/email-templates/welcome_email", - "body": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "enabled": false, - "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600 - }, - "status": 200, - "response": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", - "body": "", - "status": 200, - "response": { - "total": 10, - "start": 0, - "limit": 100, - "clients": [ - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", - "is_first_party": true, - "oidc_conformant": true, - "sso_disabled": false, - "cross_origin_auth": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "cross_origin_authentication": true, - "allowed_clients": [], - "callbacks": [], - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials", - "implicit", - "authorization_code", - "refresh_token" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", - "callbacks": [], - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "allowed_origins": [], - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "web_origins": [], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso": false, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], - "is_first_party": true, - "name": "All Applications", - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true } ] }, @@ -7748,59 +5334,564 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations?take=50", - "body": "", - "status": 200, - "response": { - "organizations": [ - { - "id": "org_fIRF1it8cTOyf2yS", - "name": "org1", - "display_name": "Organization", - "branding": { - "colors": { - "page_background": "#fff5f5", - "primary": "#57ddff" - } - } - }, - { - "id": "org_hWOYWXtnxIpJ0MX3", - "name": "org2", - "display_name": "Organization2" - } + "method": "POST", + "path": "/api/v2/client-grants", + "body": { + "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ] + }, + "status": 201, + "response": { + "id": "cgr_7XbO3vwF6ya6vZAL", + "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ], + "subject_type": "client" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "POST", + "path": "/api/v2/client-grants", + "body": { + "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" ] }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/enabled_connections?page=0&per_page=50&include_totals=true", - "body": "", - "status": 200, - "response": { - "enabled_connections": [], - "start": 0, - "limit": 0, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/enabled_connections?page=0&per_page=50&include_totals=true", - "body": "", - "status": 200, + "status": 201, "response": { - "enabled_connections": [], - "start": 0, - "limit": 0, - "total": 0 + "id": "cgr_OaZij3g3Z6RowvIj", + "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ], + "subject_type": "client" }, "rawHeaders": [], "responseIsBinary": false @@ -7808,13 +5899,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/roles?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { - "client_grants": [], + "roles": [], "start": 0, - "limit": 50, + "limit": 100, "total": 0 }, "rawHeaders": [], @@ -7822,54 +5913,68 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/client-grants?page=0&per_page=50&include_totals=true", - "body": "", + "method": "POST", + "path": "/api/v2/roles", + "body": { + "name": "Admin", + "description": "Can read and write things" + }, "status": 200, "response": { - "client_grants": [], - "start": 0, - "limit": 50, - "total": 0 + "id": "rol_QUkalOG8CI2qT7cg", + "name": "Admin", + "description": "Can read and write things" }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/discovery-domains?take=50", - "body": "", + "method": "POST", + "path": "/api/v2/roles", + "body": { + "name": "Reader", + "description": "Can only read things" + }, "status": 200, "response": { - "domains": [] + "id": "rol_7lCohdU6rjViF9BJ", + "name": "Reader", + "description": "Can only read things" }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/discovery-domains?take=50", - "body": "", + "method": "POST", + "path": "/api/v2/roles", + "body": { + "name": "read_only", + "description": "Read Only" + }, "status": 200, "response": { - "domains": [] + "id": "rol_ZVXhUfVpRnHPMoVN", + "name": "read_only", + "description": "Read Only" }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/enabled_connections?page=0&per_page=50&include_totals=true", - "body": "", + "method": "POST", + "path": "/api/v2/roles", + "body": { + "name": "read_osnly", + "description": "Readz Only" + }, "status": 200, "response": { - "enabled_connections": [], - "start": 0, - "limit": 0, - "total": 0 + "id": "rol_wlMa14cHtcqr1KdB", + "name": "read_osnly", + "description": "Readz Only" }, "rawHeaders": [], "responseIsBinary": false @@ -7877,14 +5982,43 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/self-service-profiles?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { - "enabled_connections": [], + "self_service_profiles": [ + { + "id": "ssp_f6qt3syGauLKbSgt6GRLim", + "name": "self-service-profile-1", + "description": "test description self-service-profile-1", + "user_attributes": [ + { + "name": "email", + "description": "Email of the User", + "is_optional": false + }, + { + "name": "name", + "description": "Name of the User", + "is_optional": true + } + ], + "allowed_strategies": [ + "google-apps", + "okta" + ], + "created_at": "2024-11-26T11:58:18.962Z", + "updated_at": "2025-12-16T05:15:20.151Z", + "branding": { + "colors": { + "primary": "#19aecc" + } + } + } + ], "start": 0, - "limit": 0, - "total": 0 + "limit": 100, + "total": 1 }, "rawHeaders": [], "responseIsBinary": false @@ -7892,53 +6026,124 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/self-service-profiles/ssp_f6qt3syGauLKbSgt6GRLim/custom-text/en/get-started", "body": "", "status": 200, - "response": { - "client_grants": [], - "start": 0, - "limit": 50, - "total": 0 - }, + "response": {}, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/client-grants?page=0&per_page=50&include_totals=true", - "body": "", + "method": "PATCH", + "path": "/api/v2/self-service-profiles/ssp_f6qt3syGauLKbSgt6GRLim", + "body": { + "name": "self-service-profile-1", + "allowed_strategies": [ + "google-apps", + "okta" + ], + "branding": { + "colors": { + "primary": "#19aecc" + } + }, + "description": "test description self-service-profile-1", + "user_attributes": [ + { + "name": "email", + "description": "Email of the User", + "is_optional": false + }, + { + "name": "name", + "description": "Name of the User", + "is_optional": true + } + ] + }, "status": 200, "response": { - "client_grants": [], - "start": 0, - "limit": 50, - "total": 0 + "id": "ssp_f6qt3syGauLKbSgt6GRLim", + "name": "self-service-profile-1", + "description": "test description self-service-profile-1", + "user_attributes": [ + { + "name": "email", + "description": "Email of the User", + "is_optional": false + }, + { + "name": "name", + "description": "Name of the User", + "is_optional": true + } + ], + "allowed_strategies": [ + "google-apps", + "okta" + ], + "created_at": "2024-11-26T11:58:18.962Z", + "updated_at": "2025-12-16T05:17:30.753Z", + "branding": { + "colors": { + "primary": "#19aecc" + } + } }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/discovery-domains?take=50", - "body": "", + "method": "PATCH", + "path": "/api/v2/email-templates/verify_email", + "body": { + "template": "verify_email", + "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", + "enabled": true, + "from": "", + "subject": "", + "syntax": "liquid", + "urlLifetimeInSeconds": 432000 + }, "status": 200, "response": { - "domains": [] + "template": "verify_email", + "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", + "from": "", + "subject": "", + "syntax": "liquid", + "urlLifetimeInSeconds": 432000, + "enabled": true }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/discovery-domains?take=50", - "body": "", + "method": "PATCH", + "path": "/api/v2/email-templates/welcome_email", + "body": { + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "enabled": false, + "from": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", + "syntax": "liquid", + "urlLifetimeInSeconds": 3600 + }, "status": 200, "response": { - "domains": [] + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "from": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", + "syntax": "liquid", + "urlLifetimeInSeconds": 3600, + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -7946,671 +6151,679 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?take=50", - "body": "", - "status": 200, - "response": { - "connections": [ - { - "id": "con_bBSD5AQUW0Q5aLuE", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true + "path": "/api/v2/organizations?take=50", + "body": "", + "status": 200, + "response": { + "organizations": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "total": 10, + "start": 0, + "limit": 100, + "clients": [ + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Deploy CLI", + "is_first_party": true, + "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "cross_origin_authentication": true, + "allowed_clients": [], + "callbacks": [], + "native_social_login": { + "apple": { + "enabled": false }, - "password_complexity_options": { - "min_length": 8 + "facebook": { + "enabled": false + } + }, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials", + "implicit", + "authorization_code", + "refresh_token" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Default App", + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false }, - "enabledDatabaseCustomization": true + "facebook": { + "enabled": false + } }, - "strategy": "auth0", - "name": "boo-baz-db-connection-test", - "is_domain_connection": false, - "authentication": { - "active": true + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" }, - "connected_accounts": { - "active": false + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false }, - "realms": [ - "boo-baz-db-connection-test" + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" ], - "enabled_clients": [ - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" - ] + "custom_login_page_on": true }, { - "id": "con_yGZ6rzfkdR6mMBoE", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "authentication": { - "active": true + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" }, - "connected_accounts": { - "active": false + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" }, - "realms": [ - "google-oauth2" + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "enabled_clients": [ - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" - ] + "allowed_origins": [], + "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "regular_web", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "web_origins": [], + "custom_login_page_on": true }, { - "id": "con_CfDqv7jPXpFqETeK", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "authentication": { - "active": true + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Terraform Provider", + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" }, - "connected_accounts": { - "active": false + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false }, - "realms": [ - "Username-Password-Authentication" + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" ], - "enabled_clients": [ - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/client-grants?take=50", - "body": "", - "status": 200, - "response": { - "client_grants": [ + "custom_login_page_on": true + }, { - "id": "cgr_JYmQHwQEXGDCc53P", - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "The Default App", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso": false, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "subject_type": "client" + "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true }, { - "id": "cgr_ReJeayDzA8FTvFPY", - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "none", + "app_type": "spa", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "subject_type": "client" - }, - { - "id": "cgr_pbwejzhwoujrsNE8", - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:client_credentials", - "update:client_credentials", - "delete:client_credentials", - "create:client_credentials", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations_summary", - "create:authentication_methods", - "read:authentication_methods", - "update:authentication_methods", - "delete:authentication_methods", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "read:organization_discovery_domains", - "update:organization_discovery_domains", - "create:organization_discovery_domains", - "delete:organization_discovery_domains", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations", - "read:scim_config", - "create:scim_config", - "update:scim_config", - "delete:scim_config", - "create:scim_token", - "read:scim_token", - "delete:scim_token", - "delete:phone_providers", - "create:phone_providers", - "read:phone_providers", - "update:phone_providers", - "delete:phone_templates", - "create:phone_templates", - "read:phone_templates", - "update:phone_templates", - "create:encryption_keys", - "read:encryption_keys", - "update:encryption_keys", - "delete:encryption_keys", - "read:sessions", - "update:sessions", - "delete:sessions", - "read:refresh_tokens", - "delete:refresh_tokens", - "create:self_service_profiles", - "read:self_service_profiles", - "update:self_service_profiles", - "delete:self_service_profiles", - "create:sso_access_tickets", - "delete:sso_access_tickets", - "read:forms", - "update:forms", - "delete:forms", - "create:forms", - "read:flows", - "update:flows", - "delete:flows", - "create:flows", - "read:flows_vault", - "read:flows_vault_connections", - "update:flows_vault_connections", - "delete:flows_vault_connections", - "create:flows_vault_connections", - "read:flows_executions", - "delete:flows_executions", - "read:connections_options", - "update:connections_options", - "read:self_service_profile_custom_texts", - "update:self_service_profile_custom_texts", - "create:network_acls", - "update:network_acls", - "read:network_acls", - "delete:network_acls", - "delete:vdcs_templates", - "read:vdcs_templates", - "create:vdcs_templates", - "update:vdcs_templates", - "create:custom_signing_keys", - "read:custom_signing_keys", - "update:custom_signing_keys", - "delete:custom_signing_keys", - "read:federated_connections_tokens", - "delete:federated_connections_tokens", - "create:user_attribute_profiles", - "read:user_attribute_profiles", - "update:user_attribute_profiles", - "delete:user_attribute_profiles", - "read:event_streams", - "create:event_streams", - "delete:event_streams", - "update:event_streams", - "read:event_deliveries", - "update:event_deliveries", - "create:connection_profiles", - "read:connection_profiles", - "update:connection_profiles", - "delete:connection_profiles", - "read:organization_client_grants", - "create:organization_client_grants", - "delete:organization_client_grants", - "read:security_metrics", - "read:connections_keys", - "update:connections_keys", - "create:connections_keys" + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" ], - "subject_type": "client" + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": true, + "callbacks": [], + "is_first_party": true, + "name": "All Applications", + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" + ], + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections?take=50", + "body": "", + "status": 200, + "response": { + "connections": [ + { + "id": "con_5m5GpC2yhTh0g4cn", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "import_mode": false, + "customScripts": { + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "password_history": { + "size": 5, + "enable": false + }, + "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true + }, + "strategy": "auth0", + "name": "boo-baz-db-connection-test", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "boo-baz-db-connection-test" + ], + "enabled_clients": [ + "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + ] + }, + { + "id": "con_ZxRMPXT6qTFWMFqC", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + }, + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "google-oauth2" + ], + "enabled_clients": [ + "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH" + ] + }, + { + "id": "con_4jeiJ5EmqMspBjmK", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true + }, + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "Username-Password-Authentication" + ], + "enabled_clients": [ + "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + ] } ] }, @@ -8710,7 +6923,7 @@ "subject": "deprecated" } ], - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8763,7 +6976,7 @@ "subject": "deprecated" } ], - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8808,7 +7021,7 @@ "subject": "deprecated" } ], - "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8862,7 +7075,7 @@ } ], "allowed_origins": [], - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8908,7 +7121,7 @@ "subject": "deprecated" } ], - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8961,7 +7174,7 @@ "subject": "deprecated" } ], - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9021,7 +7234,7 @@ "subject": "deprecated" } ], - "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9079,7 +7292,7 @@ "subject": "deprecated" } ], - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9093,44 +7306,568 @@ "grant_types": [ "client_credentials" ], - "custom_login_page_on": true + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": true, + "callbacks": [], + "is_first_party": true, + "name": "All Applications", + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" + ], + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/client-grants?take=50", + "body": "", + "status": 200, + "response": { + "client_grants": [ + { + "id": "cgr_7XbO3vwF6ya6vZAL", + "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ], + "subject_type": "client" }, { - "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], - "is_first_party": true, - "name": "All Applications", - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" + "id": "cgr_OaZij3g3Z6RowvIj", + "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } + "subject_type": "client" + }, + { + "id": "cgr_pbwejzhwoujrsNE8", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:client_credentials", + "update:client_credentials", + "delete:client_credentials", + "create:client_credentials", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations_summary", + "create:authentication_methods", + "read:authentication_methods", + "update:authentication_methods", + "delete:authentication_methods", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "read:organization_discovery_domains", + "update:organization_discovery_domains", + "create:organization_discovery_domains", + "delete:organization_discovery_domains", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations", + "read:scim_config", + "create:scim_config", + "update:scim_config", + "delete:scim_config", + "create:scim_token", + "read:scim_token", + "delete:scim_token", + "delete:phone_providers", + "create:phone_providers", + "read:phone_providers", + "update:phone_providers", + "delete:phone_templates", + "create:phone_templates", + "read:phone_templates", + "update:phone_templates", + "create:encryption_keys", + "read:encryption_keys", + "update:encryption_keys", + "delete:encryption_keys", + "read:sessions", + "update:sessions", + "delete:sessions", + "read:refresh_tokens", + "delete:refresh_tokens", + "create:self_service_profiles", + "read:self_service_profiles", + "update:self_service_profiles", + "delete:self_service_profiles", + "create:sso_access_tickets", + "delete:sso_access_tickets", + "read:forms", + "update:forms", + "delete:forms", + "create:forms", + "read:flows", + "update:flows", + "delete:flows", + "create:flows", + "read:flows_vault", + "read:flows_vault_connections", + "update:flows_vault_connections", + "delete:flows_vault_connections", + "create:flows_vault_connections", + "read:flows_executions", + "delete:flows_executions", + "read:connections_options", + "update:connections_options", + "read:self_service_profile_custom_texts", + "update:self_service_profile_custom_texts", + "create:network_acls", + "update:network_acls", + "read:network_acls", + "delete:network_acls", + "delete:vdcs_templates", + "read:vdcs_templates", + "create:vdcs_templates", + "update:vdcs_templates", + "create:custom_signing_keys", + "read:custom_signing_keys", + "update:custom_signing_keys", + "delete:custom_signing_keys", + "read:federated_connections_tokens", + "delete:federated_connections_tokens", + "create:user_attribute_profiles", + "read:user_attribute_profiles", + "update:user_attribute_profiles", + "delete:user_attribute_profiles", + "read:event_streams", + "create:event_streams", + "delete:event_streams", + "update:event_streams", + "read:event_deliveries", + "update:event_deliveries", + "create:connection_profiles", + "read:connection_profiles", + "update:connection_profiles", + "delete:connection_profiles", + "read:organization_client_grants", + "create:organization_client_grants", + "delete:organization_client_grants", + "read:security_metrics", + "read:connections_keys", + "update:connections_keys", + "create:connections_keys" ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true + "subject_type": "client" } ] }, @@ -9139,25 +7876,10 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3", - "body": { - "display_name": "Organization2" - }, - "status": 200, - "response": { - "id": "org_hWOYWXtnxIpJ0MX3", - "display_name": "Organization2", - "name": "org2" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS", + "method": "POST", + "path": "/api/v2/organizations", "body": { + "name": "org1", "branding": { "colors": { "page_background": "#fff5f5", @@ -9166,17 +7888,34 @@ }, "display_name": "Organization" }, - "status": 200, + "status": 201, "response": { + "id": "org_xx56mAIMVPiBVeuu", + "display_name": "Organization", + "name": "org1", "branding": { "colors": { "page_background": "#fff5f5", "primary": "#57ddff" } - }, - "id": "org_fIRF1it8cTOyf2yS", - "display_name": "Organization", - "name": "org1" + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "POST", + "path": "/api/v2/organizations", + "body": { + "name": "org2", + "display_name": "Organization2" + }, + "status": 201, + "response": { + "id": "org_BF11sKCsVKejD9RE", + "display_name": "Organization2", + "name": "org2" }, "rawHeaders": [], "responseIsBinary": false @@ -9187,86 +7926,25 @@ "path": "/api/v2/log-streams", "body": "", "status": 200, - "response": [ - { - "id": "lst_0000000000025431", - "name": "Suspended DD Log Stream", - "type": "datadog", - "status": "active", - "sink": { - "datadogApiKey": "##LOGSTREAMS_DATADOG_SECRET##", - "datadogRegion": "us" - }, - "isPriority": false - }, - { - "id": "lst_0000000000025432", - "name": "Amazon EventBridge", - "type": "eventbridge", - "status": "active", - "sink": { - "awsAccountId": "123456789012", - "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-84b807b2-8a87-4d4b-87eb-ff1b56370b3a/auth0.logs" - }, - "filters": [ - { - "type": "category", - "name": "auth.login.success" - }, - { - "type": "category", - "name": "auth.login.notification" - }, - { - "type": "category", - "name": "auth.login.fail" - }, - { - "type": "category", - "name": "auth.signup.success" - }, - { - "type": "category", - "name": "auth.logout.success" - }, - { - "type": "category", - "name": "auth.logout.fail" - }, - { - "type": "category", - "name": "auth.silent_auth.fail" - }, - { - "type": "category", - "name": "auth.silent_auth.success" - }, - { - "type": "category", - "name": "auth.token_exchange.fail" - } - ], - "isPriority": false - } - ], + "response": [], "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/log-streams/lst_0000000000025431", + "method": "POST", + "path": "/api/v2/log-streams", "body": { "name": "Suspended DD Log Stream", "sink": { "datadogApiKey": "some-sensitive-api-key", "datadogRegion": "us" - } + }, + "type": "datadog" }, "status": 200, "response": { - "id": "lst_0000000000025431", + "id": "lst_0000000000025583", "name": "Suspended DD Log Stream", "type": "datadog", "status": "active", @@ -9281,8 +7959,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/log-streams/lst_0000000000025432", + "method": "POST", + "path": "/api/v2/log-streams", "body": { "name": "Amazon EventBridge", "filters": [ @@ -9323,18 +8001,22 @@ "name": "auth.token_exchange.fail" } ], - "status": "active" + "sink": { + "awsAccountId": "123456789012", + "awsRegion": "us-east-2" + }, + "type": "eventbridge" }, "status": 200, "response": { - "id": "lst_0000000000025432", + "id": "lst_0000000000025584", "name": "Amazon EventBridge", "type": "eventbridge", "status": "active", "sink": { "awsAccountId": "123456789012", "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-84b807b2-8a87-4d4b-87eb-ff1b56370b3a/auth0.logs" + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-baf843b1-5e3d-4cfa-86b7-b0cec812ad73/auth0.logs" }, "filters": [ { @@ -9410,7 +8092,7 @@ "name": "Blank-form", "flow_count": 0, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-09T12:30:43.698Z" + "updated_at": "2025-12-16T05:15:34.906Z" } ] }, @@ -9496,7 +8178,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-09T12:30:43.698Z" + "updated_at": "2025-12-16T05:15:34.906Z" }, "rawHeaders": [], "responseIsBinary": false @@ -9621,7 +8303,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-09T12:31:42.735Z" + "updated_at": "2025-12-16T05:17:40.044Z" }, "rawHeaders": [], "responseIsBinary": false @@ -10714,6 +9396,22 @@ "value": "delete:organization_client_grants", "description": "Delete Organization Client Grants" }, + { + "value": "create:token_exchange_profiles", + "description": "Create Token Exchange Profile" + }, + { + "value": "read:token_exchange_profiles", + "description": "Read Token Exchange Profiles" + }, + { + "value": "update:token_exchange_profiles", + "description": "Update Token Exchange Profile" + }, + { + "value": "delete:token_exchange_profiles", + "description": "Delete Token Exchange Profile" + }, { "value": "read:security_metrics", "description": "Read Security Metrics" @@ -10831,7 +9529,7 @@ "subject": "deprecated" } ], - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10884,7 +9582,7 @@ "subject": "deprecated" } ], - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10929,7 +9627,7 @@ "subject": "deprecated" } ], - "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10983,7 +9681,7 @@ } ], "allowed_origins": [], - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11029,7 +9727,7 @@ "subject": "deprecated" } ], - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11082,7 +9780,7 @@ "subject": "deprecated" } ], - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11142,7 +9840,7 @@ "subject": "deprecated" } ], - "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11200,7 +9898,7 @@ "subject": "deprecated" } ], - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11224,7 +9922,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "path": "/api/v2/clients/JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "body": { "name": "Default App", "callbacks": [], @@ -11282,7 +9980,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11318,7 +10016,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", + "path": "/api/v2/guardian/factors/push-notification", "body": { "enabled": false }, @@ -11332,7 +10030,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/otp", + "path": "/api/v2/guardian/factors/recovery-code", "body": { "enabled": false }, @@ -11346,7 +10044,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/push-notification", + "path": "/api/v2/guardian/factors/email", "body": { "enabled": false }, @@ -11360,7 +10058,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-platform", + "path": "/api/v2/guardian/factors/sms", "body": { "enabled": false }, @@ -11374,7 +10072,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/recovery-code", + "path": "/api/v2/guardian/factors/webauthn-platform", "body": { "enabled": false }, @@ -11388,7 +10086,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/email", + "path": "/api/v2/guardian/factors/webauthn-roaming", "body": { "enabled": false }, @@ -11402,7 +10100,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/otp", "body": { "enabled": false }, @@ -11475,94 +10173,94 @@ "response": { "actions": [ { - "id": "4273221d-f20e-44e6-aa9d-d45702782e4e", - "name": "My Custom Action", + "id": "40d899f3-a209-42a2-a3ed-39e764dcbc33", + "name": "Custom Phone Provider", "supported_triggers": [ { - "id": "post-login", - "version": "v2" + "id": "custom-phone-provider", + "version": "v1" } ], - "created_at": "2025-12-05T14:18:53.100690661Z", - "updated_at": "2025-12-09T12:31:15.977676526Z", - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "created_at": "2025-12-11T11:30:13.629492200Z", + "updated_at": "2025-12-16T05:15:01.577210494Z", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "runtime": "node18", + "runtime": "node22", "status": "built", "secrets": [], "current_version": { - "id": "a20b7a92-0d6e-4926-9226-fb83db144dae", - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "runtime": "node18", + "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "runtime": "node22", "status": "BUILT", - "number": 7, - "build_time": "2025-12-09T12:31:16.794944131Z", - "created_at": "2025-12-09T12:31:16.719266241Z", - "updated_at": "2025-12-09T12:31:16.796068316Z" + "number": 5, + "build_time": "2025-12-16T05:15:03.730905338Z", + "created_at": "2025-12-16T05:15:03.656132145Z", + "updated_at": "2025-12-16T05:15:03.732003986Z" }, "deployed_version": { - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "a20b7a92-0d6e-4926-9226-fb83db144dae", + "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", "deployed": true, - "number": 7, - "built_at": "2025-12-09T12:31:16.794944131Z", + "number": 5, + "built_at": "2025-12-16T05:15:03.730905338Z", "secrets": [], "status": "built", - "created_at": "2025-12-09T12:31:16.719266241Z", - "updated_at": "2025-12-09T12:31:16.796068316Z", - "runtime": "node18", + "created_at": "2025-12-16T05:15:03.656132145Z", + "updated_at": "2025-12-16T05:15:03.732003986Z", + "runtime": "node22", "supported_triggers": [ { - "id": "post-login", - "version": "v2" + "id": "custom-phone-provider", + "version": "v1" } ] }, "all_changes_deployed": true }, { - "id": "50d86033-6bc2-4ceb-8991-d14c85d2e304", - "name": "Custom Phone Provider", + "id": "e69869b2-169a-4df9-9326-4447818092f6", + "name": "My Custom Action", "supported_triggers": [ { - "id": "custom-phone-provider", - "version": "v1" + "id": "post-login", + "version": "v2" } ], - "created_at": "2025-12-09T12:23:14.388072786Z", - "updated_at": "2025-12-09T12:30:12.235258402Z", - "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "created_at": "2025-12-16T05:17:04.860907359Z", + "updated_at": "2025-12-16T05:17:04.867817351Z", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "runtime": "node22", + "runtime": "node18", "status": "built", "secrets": [], "current_version": { - "id": "23bfff1b-d5bb-4f29-bcd5-d5a8779a6843", - "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", - "runtime": "node22", + "id": "a4d7af33-adee-49de-9898-744df792436e", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "runtime": "node18", "status": "BUILT", - "number": 3, - "build_time": "2025-12-09T12:30:13.066221969Z", - "created_at": "2025-12-09T12:30:12.977011820Z", - "updated_at": "2025-12-09T12:30:13.067900742Z" + "number": 1, + "build_time": "2025-12-16T05:17:06.111365724Z", + "created_at": "2025-12-16T05:17:06.028561552Z", + "updated_at": "2025-12-16T05:17:06.112541842Z" }, "deployed_version": { - "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "23bfff1b-d5bb-4f29-bcd5-d5a8779a6843", + "id": "a4d7af33-adee-49de-9898-744df792436e", "deployed": true, - "number": 3, - "built_at": "2025-12-09T12:30:13.066221969Z", + "number": 1, + "built_at": "2025-12-16T05:17:06.111365724Z", "secrets": [], "status": "built", - "created_at": "2025-12-09T12:30:12.977011820Z", - "updated_at": "2025-12-09T12:30:13.067900742Z", - "runtime": "node22", + "created_at": "2025-12-16T05:17:06.028561552Z", + "updated_at": "2025-12-16T05:17:06.112541842Z", + "runtime": "node18", "supported_triggers": [ { - "id": "custom-phone-provider", - "version": "v1" + "id": "post-login", + "version": "v2" } ] }, @@ -11584,130 +10282,102 @@ "response": { "actions": [ { - "id": "4273221d-f20e-44e6-aa9d-d45702782e4e", - "name": "My Custom Action", + "id": "40d899f3-a209-42a2-a3ed-39e764dcbc33", + "name": "Custom Phone Provider", "supported_triggers": [ { - "id": "post-login", - "version": "v2" + "id": "custom-phone-provider", + "version": "v1" } ], - "created_at": "2025-12-05T14:18:53.100690661Z", - "updated_at": "2025-12-09T12:31:15.977676526Z", - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "created_at": "2025-12-11T11:30:13.629492200Z", + "updated_at": "2025-12-16T05:15:01.577210494Z", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "runtime": "node18", + "runtime": "node22", "status": "built", "secrets": [], "current_version": { - "id": "a20b7a92-0d6e-4926-9226-fb83db144dae", - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "runtime": "node18", + "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "runtime": "node22", "status": "BUILT", - "number": 7, - "build_time": "2025-12-09T12:31:16.794944131Z", - "created_at": "2025-12-09T12:31:16.719266241Z", - "updated_at": "2025-12-09T12:31:16.796068316Z" + "number": 5, + "build_time": "2025-12-16T05:15:03.730905338Z", + "created_at": "2025-12-16T05:15:03.656132145Z", + "updated_at": "2025-12-16T05:15:03.732003986Z" }, "deployed_version": { - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "a20b7a92-0d6e-4926-9226-fb83db144dae", + "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", "deployed": true, - "number": 7, - "built_at": "2025-12-09T12:31:16.794944131Z", + "number": 5, + "built_at": "2025-12-16T05:15:03.730905338Z", "secrets": [], "status": "built", - "created_at": "2025-12-09T12:31:16.719266241Z", - "updated_at": "2025-12-09T12:31:16.796068316Z", - "runtime": "node18", + "created_at": "2025-12-16T05:15:03.656132145Z", + "updated_at": "2025-12-16T05:15:03.732003986Z", + "runtime": "node22", "supported_triggers": [ { - "id": "post-login", - "version": "v2" + "id": "custom-phone-provider", + "version": "v1" } ] }, "all_changes_deployed": true }, { - "id": "50d86033-6bc2-4ceb-8991-d14c85d2e304", - "name": "Custom Phone Provider", + "id": "e69869b2-169a-4df9-9326-4447818092f6", + "name": "My Custom Action", "supported_triggers": [ { - "id": "custom-phone-provider", - "version": "v1" + "id": "post-login", + "version": "v2" } ], - "created_at": "2025-12-09T12:23:14.388072786Z", - "updated_at": "2025-12-09T12:30:12.235258402Z", - "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "created_at": "2025-12-16T05:17:04.860907359Z", + "updated_at": "2025-12-16T05:17:04.867817351Z", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "runtime": "node22", + "runtime": "node18", "status": "built", "secrets": [], "current_version": { - "id": "23bfff1b-d5bb-4f29-bcd5-d5a8779a6843", - "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", - "runtime": "node22", + "id": "a4d7af33-adee-49de-9898-744df792436e", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "runtime": "node18", "status": "BUILT", - "number": 3, - "build_time": "2025-12-09T12:30:13.066221969Z", - "created_at": "2025-12-09T12:30:12.977011820Z", - "updated_at": "2025-12-09T12:30:13.067900742Z" + "number": 1, + "build_time": "2025-12-16T05:17:06.111365724Z", + "created_at": "2025-12-16T05:17:06.028561552Z", + "updated_at": "2025-12-16T05:17:06.112541842Z" }, "deployed_version": { - "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "23bfff1b-d5bb-4f29-bcd5-d5a8779a6843", + "id": "a4d7af33-adee-49de-9898-744df792436e", "deployed": true, - "number": 3, - "built_at": "2025-12-09T12:30:13.066221969Z", + "number": 1, + "built_at": "2025-12-16T05:17:06.111365724Z", "secrets": [], "status": "built", - "created_at": "2025-12-09T12:30:12.977011820Z", - "updated_at": "2025-12-09T12:30:13.067900742Z", - "runtime": "node22", + "created_at": "2025-12-16T05:17:06.028561552Z", + "updated_at": "2025-12-16T05:17:06.112541842Z", + "runtime": "node18", "supported_triggers": [ { - "id": "custom-phone-provider", - "version": "v1" - } - ] - }, - "all_changes_deployed": true - } - ], - "total": 2, - "per_page": 100 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/brute-force-protection", - "body": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 10 - }, - "status": 200, - "response": { - "enabled": true, - "shields": [ - "block", - "user_notification" + "id": "post-login", + "version": "v2" + } + ] + }, + "all_changes_deployed": true + } ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 10 + "total": 2, + "per_page": 100 }, "rawHeaders": [], "responseIsBinary": false @@ -11740,6 +10410,34 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/brute-force-protection", + "body": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 10 + }, + "status": 200, + "response": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 10 + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -11778,6 +10476,10 @@ "pre-user-registration": { "max_attempts": 50, "rate": 1200 + }, + "pre-custom-token-exchange": { + "max_attempts": 10, + "rate": 600000 } } }, @@ -11877,7 +10579,7 @@ "subject": "deprecated" } ], - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11930,7 +10632,7 @@ "subject": "deprecated" } ], - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11975,7 +10677,7 @@ "subject": "deprecated" } ], - "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12029,7 +10731,7 @@ } ], "allowed_origins": [], - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12075,7 +10777,7 @@ "subject": "deprecated" } ], - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12128,7 +10830,7 @@ "subject": "deprecated" } ], - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12188,7 +10890,7 @@ "subject": "deprecated" } ], - "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12246,7 +10948,7 @@ "subject": "deprecated" } ], - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12313,7 +11015,7 @@ "response": { "connections": [ { - "id": "con_bBSD5AQUW0Q5aLuE", + "id": "con_5m5GpC2yhTh0g4cn", "options": { "mfa": { "active": true, @@ -12376,12 +11078,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" ] }, { - "id": "con_CfDqv7jPXpFqETeK", + "id": "con_4jeiJ5EmqMspBjmK", "options": { "mfa": { "active": true, @@ -12418,7 +11120,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -12436,7 +11138,7 @@ "response": { "connections": [ { - "id": "con_bBSD5AQUW0Q5aLuE", + "id": "con_5m5GpC2yhTh0g4cn", "options": { "mfa": { "active": true, @@ -12499,12 +11201,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" ] }, { - "id": "con_CfDqv7jPXpFqETeK", + "id": "con_4jeiJ5EmqMspBjmK", "options": { "mfa": { "active": true, @@ -12541,7 +11243,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -12553,16 +11255,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients?take=50", + "path": "/api/v2/connections/con_5m5GpC2yhTh0g4cn/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW" }, { - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" } ] }, @@ -12572,13 +11274,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients?take=50", + "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -12591,16 +11293,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients?take=50", + "path": "/api/v2/connections/con_5m5GpC2yhTh0g4cn/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW" }, { - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" } ] }, @@ -12610,13 +11312,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients?take=50", + "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -12629,11 +11331,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK", + "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK", "body": "", "status": 200, "response": { - "id": "con_CfDqv7jPXpFqETeK", + "id": "con_4jeiJ5EmqMspBjmK", "options": { "mfa": { "active": true, @@ -12667,7 +11369,7 @@ "active": false }, "enabled_clients": [ - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ], "realms": [ @@ -12680,11 +11382,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK", + "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK", "body": { "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" + "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn" ], "is_domain_connection": false, "options": { @@ -12716,7 +11418,7 @@ }, "status": 200, "response": { - "id": "con_CfDqv7jPXpFqETeK", + "id": "con_4jeiJ5EmqMspBjmK", "options": { "mfa": { "active": true, @@ -12751,7 +11453,7 @@ }, "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" + "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn" ], "realms": [ "Username-Password-Authentication" @@ -12763,14 +11465,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients", + "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK/clients", "body": [ { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "status": true }, { - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "status": true } ], @@ -12872,7 +11574,7 @@ "subject": "deprecated" } ], - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12925,7 +11627,7 @@ "subject": "deprecated" } ], - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12970,7 +11672,7 @@ "subject": "deprecated" } ], - "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13024,7 +11726,7 @@ } ], "allowed_origins": [], - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13070,7 +11772,7 @@ "subject": "deprecated" } ], - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13123,7 +11825,7 @@ "subject": "deprecated" } ], - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13183,7 +11885,7 @@ "subject": "deprecated" } ], - "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13241,7 +11943,7 @@ "subject": "deprecated" } ], - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13308,7 +12010,7 @@ "response": { "connections": [ { - "id": "con_bBSD5AQUW0Q5aLuE", + "id": "con_5m5GpC2yhTh0g4cn", "options": { "mfa": { "active": true, @@ -13371,12 +12073,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" ] }, { - "id": "con_yGZ6rzfkdR6mMBoE", + "id": "con_ZxRMPXT6qTFWMFqC", "options": { "email": true, "scope": [ @@ -13398,12 +12100,12 @@ "google-oauth2" ], "enabled_clients": [ - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" + "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH" ] }, { - "id": "con_CfDqv7jPXpFqETeK", + "id": "con_4jeiJ5EmqMspBjmK", "options": { "mfa": { "active": true, @@ -13440,7 +12142,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -13458,7 +12160,7 @@ "response": { "connections": [ { - "id": "con_bBSD5AQUW0Q5aLuE", + "id": "con_5m5GpC2yhTh0g4cn", "options": { "mfa": { "active": true, @@ -13521,12 +12223,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" ] }, { - "id": "con_yGZ6rzfkdR6mMBoE", + "id": "con_ZxRMPXT6qTFWMFqC", "options": { "email": true, "scope": [ @@ -13548,12 +12250,12 @@ "google-oauth2" ], "enabled_clients": [ - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" + "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH" ] }, { - "id": "con_CfDqv7jPXpFqETeK", + "id": "con_4jeiJ5EmqMspBjmK", "options": { "mfa": { "active": true, @@ -13590,7 +12292,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -13602,16 +12304,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients?take=50", + "path": "/api/v2/connections/con_ZxRMPXT6qTFWMFqC/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" }, { - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" + "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH" } ] }, @@ -13621,16 +12323,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients?take=50", + "path": "/api/v2/connections/con_ZxRMPXT6qTFWMFqC/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" }, { - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" + "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH" } ] }, @@ -13745,7 +12447,7 @@ "subject": "deprecated" } ], - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13798,7 +12500,7 @@ "subject": "deprecated" } ], - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13843,7 +12545,7 @@ "subject": "deprecated" } ], - "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13897,7 +12599,7 @@ } ], "allowed_origins": [], - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13943,7 +12645,7 @@ "subject": "deprecated" } ], - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13996,7 +12698,7 @@ "subject": "deprecated" } ], - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14056,7 +12758,7 @@ "subject": "deprecated" } ], - "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14114,7 +12816,7 @@ "subject": "deprecated" } ], - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14181,8 +12883,8 @@ "response": { "client_grants": [ { - "id": "cgr_JYmQHwQEXGDCc53P", - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "id": "cgr_7XbO3vwF6ya6vZAL", + "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -14319,8 +13021,8 @@ "subject_type": "client" }, { - "id": "cgr_ReJeayDzA8FTvFPY", - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "id": "cgr_OaZij3g3Z6RowvIj", + "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -14705,22 +13407,22 @@ "response": { "roles": [ { - "id": "rol_EH7ASyHIXKqKPc4X", + "id": "rol_QUkalOG8CI2qT7cg", "name": "Admin", "description": "Can read and write things" }, { - "id": "rol_WHMW5tI8GYuTShEL", + "id": "rol_7lCohdU6rjViF9BJ", "name": "Reader", "description": "Can only read things" }, { - "id": "rol_dkoJYFPEbm4fBQUa", + "id": "rol_ZVXhUfVpRnHPMoVN", "name": "read_only", "description": "Read Only" }, { - "id": "rol_6mNIPtAC2wBSBD7S", + "id": "rol_wlMa14cHtcqr1KdB", "name": "read_osnly", "description": "Readz Only" } @@ -14735,7 +13437,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_QUkalOG8CI2qT7cg/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -14750,12 +13452,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_QUkalOG8CI2qT7cg/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { "permissions": [], - "start": 0, + "start": 100, "limit": 100, "total": 0 }, @@ -14765,7 +13467,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_7lCohdU6rjViF9BJ/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -14780,12 +13482,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_7lCohdU6rjViF9BJ/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { "permissions": [], - "start": 0, + "start": 100, "limit": 100, "total": 0 }, @@ -14795,7 +13497,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_ZVXhUfVpRnHPMoVN/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -14810,12 +13512,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_ZVXhUfVpRnHPMoVN/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { "permissions": [], - "start": 0, + "start": 100, "limit": 100, "total": 0 }, @@ -14825,7 +13527,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_wlMa14cHtcqr1KdB/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -14840,12 +13542,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_wlMa14cHtcqr1KdB/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { "permissions": [], - "start": 0, + "start": 100, "limit": 100, "total": 0 }, @@ -14861,7 +13563,7 @@ "response": { "organizations": [ { - "id": "org_fIRF1it8cTOyf2yS", + "id": "org_xx56mAIMVPiBVeuu", "name": "org1", "display_name": "Organization", "branding": { @@ -14872,7 +13574,7 @@ } }, { - "id": "org_hWOYWXtnxIpJ0MX3", + "id": "org_BF11sKCsVKejD9RE", "name": "org2", "display_name": "Organization2" } @@ -14974,7 +13676,7 @@ "subject": "deprecated" } ], - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -15027,7 +13729,7 @@ "subject": "deprecated" } ], - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -15072,7 +13774,7 @@ "subject": "deprecated" } ], - "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -15126,224 +13828,7 @@ } ], "allowed_origins": [], - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "web_origins": [], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso": false, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -15353,366 +13838,265 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Terraform Provider", + "cross_origin_auth": false, "is_first_party": true, - "name": "All Applications", + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, + "sso_disabled": false, + "cross_origin_authentication": false, "signing_keys": [ { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/enabled_connections?page=0&per_page=50&include_totals=true", - "body": "", - "status": 200, - "response": { - "enabled_connections": [], - "start": 0, - "limit": 0, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/enabled_connections?page=0&per_page=50&include_totals=true", - "body": "", - "status": 200, - "response": { - "enabled_connections": [], - "start": 0, - "limit": 0, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/client-grants?page=0&per_page=50&include_totals=true", - "body": "", - "status": 200, - "response": { - "client_grants": [], - "start": 0, - "limit": 50, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/client-grants?page=0&per_page=50&include_totals=true", - "body": "", - "status": 200, - "response": { - "client_grants": [], - "start": 0, - "limit": 50, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/discovery-domains?take=50", - "body": "", - "status": 200, - "response": { - "domains": [] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/discovery-domains?take=50", - "body": "", - "status": 200, - "response": { - "domains": [] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/enabled_connections?page=0&per_page=50&include_totals=true", - "body": "", - "status": 200, - "response": { - "enabled_connections": [], - "start": 0, - "limit": 0, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/enabled_connections?page=0&per_page=50&include_totals=true", - "body": "", - "status": 200, - "response": { - "enabled_connections": [], - "start": 0, - "limit": 0, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/client-grants?page=0&per_page=50&include_totals=true", - "body": "", - "status": 200, - "response": { - "client_grants": [], - "start": 0, - "limit": 50, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/client-grants?page=0&per_page=50&include_totals=true", - "body": "", - "status": 200, - "response": { - "client_grants": [], - "start": 0, - "limit": 50, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/discovery-domains?take=50", - "body": "", - "status": 200, - "response": { - "domains": [] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/discovery-domains?take=50", - "body": "", - "status": 200, - "response": { - "domains": [] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?take=50", - "body": "", - "status": 200, - "response": { - "connections": [ - { - "id": "con_bBSD5AQUW0Q5aLuE", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "The Default App", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false }, - "enabledDatabaseCustomization": true + "facebook": { + "enabled": false + } }, - "strategy": "auth0", - "name": "boo-baz-db-connection-test", - "is_domain_connection": false, - "authentication": { - "active": true + "oidc_conformant": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" }, - "connected_accounts": { - "active": false + "sso": false, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false }, - "realms": [ - "boo-baz-db-connection-test" + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" ], - "enabled_clients": [ - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" - ] + "custom_login_page_on": true }, { - "id": "con_yGZ6rzfkdR6mMBoE", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "authentication": { - "active": true + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "connected_accounts": { - "active": false + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false }, - "realms": [ - "google-oauth2" + "client_aliases": [], + "token_endpoint_auth_method": "none", + "app_type": "spa", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token" ], - "enabled_clients": [ - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" - ] + "web_origins": [ + "http://localhost:3000" + ], + "custom_login_page_on": true }, { - "id": "con_CfDqv7jPXpFqETeK", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false }, - "brute_force_protection": true + "facebook": { + "enabled": false + } }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "authentication": { - "active": true + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" }, - "connected_accounts": { - "active": false + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false }, - "realms": [ - "Username-Password-Authentication" + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": true, + "callbacks": [], + "is_first_party": true, + "name": "All Applications", + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" + ], + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "enabled_clients": [ - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - ] + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true } ] }, @@ -15722,521 +14106,315 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/client-grants?take=50", + "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "client_grants": [ - { - "id": "cgr_JYmQHwQEXGDCc53P", - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" + "enabled_connections": [], + "start": 0, + "limit": 0, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/enabled_connections?page=1&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "enabled_connections": [], + "start": 0, + "limit": 0, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/client-grants?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "client_grants": [], + "start": 0, + "limit": 50, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/client-grants?page=1&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "client_grants": [], + "start": 50, + "limit": 50, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/discovery-domains?take=50", + "body": "", + "status": 200, + "response": { + "domains": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/discovery-domains?take=50", + "body": "", + "status": 200, + "response": { + "domains": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/enabled_connections?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "enabled_connections": [], + "start": 0, + "limit": 0, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/enabled_connections?page=1&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "enabled_connections": [], + "start": 0, + "limit": 0, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/client-grants?page=0&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "client_grants": [], + "start": 0, + "limit": 50, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/client-grants?page=1&per_page=50&include_totals=true", + "body": "", + "status": 200, + "response": { + "client_grants": [], + "start": 50, + "limit": 50, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/discovery-domains?take=50", + "body": "", + "status": 200, + "response": { + "domains": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/discovery-domains?take=50", + "body": "", + "status": 200, + "response": { + "domains": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections?take=50", + "body": "", + "status": 200, + "response": { + "connections": [ + { + "id": "con_5m5GpC2yhTh0g4cn", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "import_mode": false, + "customScripts": { + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "password_history": { + "size": 5, + "enable": false + }, + "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true + }, + "strategy": "auth0", + "name": "boo-baz-db-connection-test", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "boo-baz-db-connection-test" ], - "subject_type": "client" + "enabled_clients": [ + "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + ] }, { - "id": "cgr_ReJeayDzA8FTvFPY", - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" + "id": "con_ZxRMPXT6qTFWMFqC", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + }, + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "google-oauth2" ], - "subject_type": "client" + "enabled_clients": [ + "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH" + ] }, { - "id": "cgr_pbwejzhwoujrsNE8", - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:client_credentials", - "update:client_credentials", - "delete:client_credentials", - "create:client_credentials", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations_summary", - "create:authentication_methods", - "read:authentication_methods", - "update:authentication_methods", - "delete:authentication_methods", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "read:organization_discovery_domains", - "update:organization_discovery_domains", - "create:organization_discovery_domains", - "delete:organization_discovery_domains", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations", - "read:scim_config", - "create:scim_config", - "update:scim_config", - "delete:scim_config", - "create:scim_token", - "read:scim_token", - "delete:scim_token", - "delete:phone_providers", - "create:phone_providers", - "read:phone_providers", - "update:phone_providers", - "delete:phone_templates", - "create:phone_templates", - "read:phone_templates", - "update:phone_templates", - "create:encryption_keys", - "read:encryption_keys", - "update:encryption_keys", - "delete:encryption_keys", - "read:sessions", - "update:sessions", - "delete:sessions", - "read:refresh_tokens", - "delete:refresh_tokens", - "create:self_service_profiles", - "read:self_service_profiles", - "update:self_service_profiles", - "delete:self_service_profiles", - "create:sso_access_tickets", - "delete:sso_access_tickets", - "read:forms", - "update:forms", - "delete:forms", - "create:forms", - "read:flows", - "update:flows", - "delete:flows", - "create:flows", - "read:flows_vault", - "read:flows_vault_connections", - "update:flows_vault_connections", - "delete:flows_vault_connections", - "create:flows_vault_connections", - "read:flows_executions", - "delete:flows_executions", - "read:connections_options", - "update:connections_options", - "read:self_service_profile_custom_texts", - "update:self_service_profile_custom_texts", - "create:network_acls", - "update:network_acls", - "read:network_acls", - "delete:network_acls", - "delete:vdcs_templates", - "read:vdcs_templates", - "create:vdcs_templates", - "update:vdcs_templates", - "create:custom_signing_keys", - "read:custom_signing_keys", - "update:custom_signing_keys", - "delete:custom_signing_keys", - "read:federated_connections_tokens", - "delete:federated_connections_tokens", - "create:user_attribute_profiles", - "read:user_attribute_profiles", - "update:user_attribute_profiles", - "delete:user_attribute_profiles", - "read:event_streams", - "create:event_streams", - "delete:event_streams", - "update:event_streams", - "read:event_deliveries", - "update:event_deliveries", - "create:connection_profiles", - "read:connection_profiles", - "update:connection_profiles", - "delete:connection_profiles", - "read:organization_client_grants", - "create:organization_client_grants", - "delete:organization_client_grants", - "read:security_metrics", - "read:connections_keys", - "update:connections_keys", - "create:connections_keys" + "id": "con_4jeiJ5EmqMspBjmK", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true + }, + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "Username-Password-Authentication" ], - "subject_type": "client" + "enabled_clients": [ + "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + ] } ] }, @@ -16336,7 +14514,7 @@ "subject": "deprecated" } ], - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -16389,7 +14567,7 @@ "subject": "deprecated" } ], - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -16434,7 +14612,7 @@ "subject": "deprecated" } ], - "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -16488,7 +14666,7 @@ } ], "allowed_origins": [], - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -16534,7 +14712,7 @@ "subject": "deprecated" } ], - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -16587,7 +14765,7 @@ "subject": "deprecated" } ], - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -16647,7 +14825,7 @@ "subject": "deprecated" } ], - "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -16666,97 +14844,621 @@ "web_origins": [ "http://localhost:3000" ], - "custom_login_page_on": true + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": true, + "callbacks": [], + "is_first_party": true, + "name": "All Applications", + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" + ], + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/client-grants?take=50", + "body": "", + "status": 200, + "response": { + "client_grants": [ + { + "id": "cgr_7XbO3vwF6ya6vZAL", + "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ], + "subject_type": "client" }, { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" + "id": "cgr_OaZij3g3Z6RowvIj", + "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" ], - "custom_login_page_on": true + "subject_type": "client" }, { - "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], - "is_first_party": true, - "name": "All Applications", - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } + "id": "cgr_pbwejzhwoujrsNE8", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:client_credentials", + "update:client_credentials", + "delete:client_credentials", + "create:client_credentials", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations_summary", + "create:authentication_methods", + "read:authentication_methods", + "update:authentication_methods", + "delete:authentication_methods", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "read:organization_discovery_domains", + "update:organization_discovery_domains", + "create:organization_discovery_domains", + "delete:organization_discovery_domains", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations", + "read:scim_config", + "create:scim_config", + "update:scim_config", + "delete:scim_config", + "create:scim_token", + "read:scim_token", + "delete:scim_token", + "delete:phone_providers", + "create:phone_providers", + "read:phone_providers", + "update:phone_providers", + "delete:phone_templates", + "create:phone_templates", + "read:phone_templates", + "update:phone_templates", + "create:encryption_keys", + "read:encryption_keys", + "update:encryption_keys", + "delete:encryption_keys", + "read:sessions", + "update:sessions", + "delete:sessions", + "read:refresh_tokens", + "delete:refresh_tokens", + "create:self_service_profiles", + "read:self_service_profiles", + "update:self_service_profiles", + "delete:self_service_profiles", + "create:sso_access_tickets", + "delete:sso_access_tickets", + "read:forms", + "update:forms", + "delete:forms", + "create:forms", + "read:flows", + "update:flows", + "delete:flows", + "create:flows", + "read:flows_vault", + "read:flows_vault_connections", + "update:flows_vault_connections", + "delete:flows_vault_connections", + "create:flows_vault_connections", + "read:flows_executions", + "delete:flows_executions", + "read:connections_options", + "update:connections_options", + "read:self_service_profile_custom_texts", + "update:self_service_profile_custom_texts", + "create:network_acls", + "update:network_acls", + "read:network_acls", + "delete:network_acls", + "delete:vdcs_templates", + "read:vdcs_templates", + "create:vdcs_templates", + "update:vdcs_templates", + "create:custom_signing_keys", + "read:custom_signing_keys", + "update:custom_signing_keys", + "delete:custom_signing_keys", + "read:federated_connections_tokens", + "delete:federated_connections_tokens", + "create:user_attribute_profiles", + "read:user_attribute_profiles", + "update:user_attribute_profiles", + "delete:user_attribute_profiles", + "read:event_streams", + "create:event_streams", + "delete:event_streams", + "update:event_streams", + "read:event_deliveries", + "update:event_deliveries", + "create:connection_profiles", + "read:connection_profiles", + "update:connection_profiles", + "delete:connection_profiles", + "read:organization_client_grants", + "create:organization_client_grants", + "delete:organization_client_grants", + "read:security_metrics", + "read:connections_keys", + "update:connections_keys", + "create:connections_keys" ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true + "subject_type": "client" } ] }, @@ -16771,7 +15473,7 @@ "status": 200, "response": [ { - "id": "lst_0000000000025431", + "id": "lst_0000000000025583", "name": "Suspended DD Log Stream", "type": "datadog", "status": "active", @@ -16782,14 +15484,14 @@ "isPriority": false }, { - "id": "lst_0000000000025432", + "id": "lst_0000000000025584", "name": "Amazon EventBridge", "type": "eventbridge", "status": "active", "sink": { "awsAccountId": "123456789012", "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-84b807b2-8a87-4d4b-87eb-ff1b56370b3a/auth0.logs" + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-baf843b1-5e3d-4cfa-86b7-b0cec812ad73/auth0.logs" }, "filters": [ { @@ -18003,6 +16705,22 @@ "value": "delete:organization_client_grants", "description": "Delete Organization Client Grants" }, + { + "value": "create:token_exchange_profiles", + "description": "Create Token Exchange Profile" + }, + { + "value": "read:token_exchange_profiles", + "description": "Read Token Exchange Profiles" + }, + { + "value": "update:token_exchange_profiles", + "description": "Update Token Exchange Profile" + }, + { + "value": "delete:token_exchange_profiles", + "description": "Delete Token Exchange Profile" + }, { "value": "read:security_metrics", "description": "Read Security Metrics" @@ -18120,7 +16838,7 @@ "subject": "deprecated" } ], - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -18173,7 +16891,7 @@ "subject": "deprecated" } ], - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -18218,7 +16936,7 @@ "subject": "deprecated" } ], - "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -18272,7 +16990,7 @@ } ], "allowed_origins": [], - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -18318,7 +17036,7 @@ "subject": "deprecated" } ], - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -18371,7 +17089,7 @@ "subject": "deprecated" } ], - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -18431,7 +17149,7 @@ "subject": "deprecated" } ], - "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -18489,7 +17207,7 @@ "subject": "deprecated" } ], - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -18519,7 +17237,7 @@ "response": { "connections": [ { - "id": "con_bBSD5AQUW0Q5aLuE", + "id": "con_5m5GpC2yhTh0g4cn", "options": { "mfa": { "active": true, @@ -18582,12 +17300,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" ] }, { - "id": "con_CfDqv7jPXpFqETeK", + "id": "con_4jeiJ5EmqMspBjmK", "options": { "mfa": { "active": true, @@ -18624,7 +17342,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -18636,16 +17354,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients?take=50", + "path": "/api/v2/connections/con_5m5GpC2yhTh0g4cn/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW" }, { - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" } ] }, @@ -18655,13 +17373,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients?take=50", + "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -18674,16 +17392,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients?take=50", + "path": "/api/v2/connections/con_5m5GpC2yhTh0g4cn/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW" }, { - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" } ] }, @@ -18693,13 +17411,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients?take=50", + "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -18718,7 +17436,7 @@ "response": { "connections": [ { - "id": "con_bBSD5AQUW0Q5aLuE", + "id": "con_5m5GpC2yhTh0g4cn", "options": { "mfa": { "active": true, @@ -18781,12 +17499,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" ] }, { - "id": "con_yGZ6rzfkdR6mMBoE", + "id": "con_ZxRMPXT6qTFWMFqC", "options": { "email": true, "scope": [ @@ -18808,12 +17526,12 @@ "google-oauth2" ], "enabled_clients": [ - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" + "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH" ] }, { - "id": "con_CfDqv7jPXpFqETeK", + "id": "con_4jeiJ5EmqMspBjmK", "options": { "mfa": { "active": true, @@ -18850,7 +17568,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -18862,16 +17580,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients?take=50", + "path": "/api/v2/connections/con_ZxRMPXT6qTFWMFqC/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" }, { - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" + "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH" } ] }, @@ -18881,16 +17599,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients?take=50", + "path": "/api/v2/connections/con_ZxRMPXT6qTFWMFqC/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" }, { - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" + "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH" } ] }, @@ -18984,6 +17702,24 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/email-templates/verify_email", + "body": "", + "status": 200, + "response": { + "template": "verify_email", + "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", + "from": "", + "subject": "", + "syntax": "liquid", + "urlLifetimeInSeconds": 432000, + "enabled": true + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -19002,17 +17738,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/verify_email", + "path": "/api/v2/email-templates/reset_email", "body": "", - "status": 200, + "status": 404, "response": { - "template": "verify_email", - "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", - "from": "", - "subject": "", - "syntax": "liquid", - "urlLifetimeInSeconds": 432000, - "enabled": true + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" }, "rawHeaders": [], "responseIsBinary": false @@ -19020,14 +17753,18 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/user_invitation", + "path": "/api/v2/email-templates/welcome_email", "body": "", - "status": 404, + "status": 200, "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "from": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", + "syntax": "liquid", + "urlLifetimeInSeconds": 3600, + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -19035,7 +17772,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/password_reset", + "path": "/api/v2/email-templates/reset_email_by_code", "body": "", "status": 404, "response": { @@ -19050,7 +17787,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/async_approval", + "path": "/api/v2/email-templates/blocked_account", "body": "", "status": 404, "response": { @@ -19065,7 +17802,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email", + "path": "/api/v2/email-templates/stolen_credentials", "body": "", "status": 404, "response": { @@ -19080,7 +17817,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/enrollment_email", + "path": "/api/v2/email-templates/mfa_oob_code", "body": "", "status": 404, "response": { @@ -19095,26 +17832,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/welcome_email", - "body": "", - "status": 200, - "response": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/email-templates/stolen_credentials", + "path": "/api/v2/email-templates/enrollment_email", "body": "", "status": 404, "response": { @@ -19129,7 +17847,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/mfa_oob_code", + "path": "/api/v2/email-templates/change_password", "body": "", "status": 404, "response": { @@ -19144,7 +17862,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email_by_code", + "path": "/api/v2/email-templates/password_reset", "body": "", "status": 404, "response": { @@ -19159,7 +17877,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/blocked_account", + "path": "/api/v2/email-templates/async_approval", "body": "", "status": 404, "response": { @@ -19174,7 +17892,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/change_password", + "path": "/api/v2/email-templates/user_invitation", "body": "", "status": 404, "response": { @@ -19195,8 +17913,8 @@ "response": { "client_grants": [ { - "id": "cgr_JYmQHwQEXGDCc53P", - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "id": "cgr_7XbO3vwF6ya6vZAL", + "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -19333,8 +18051,8 @@ "subject_type": "client" }, { - "id": "cgr_ReJeayDzA8FTvFPY", - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "id": "cgr_OaZij3g3Z6RowvIj", + "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -19764,7 +18482,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/guardian/factors/push-notification/providers/sns", + "path": "/api/v2/guardian/factors/sms/providers/twilio", "body": "", "status": 200, "response": {}, @@ -19774,7 +18492,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/guardian/factors/sms/providers/twilio", + "path": "/api/v2/guardian/factors/push-notification/providers/sns", "body": "", "status": 200, "response": {}, @@ -19837,22 +18555,22 @@ "response": { "roles": [ { - "id": "rol_EH7ASyHIXKqKPc4X", + "id": "rol_QUkalOG8CI2qT7cg", "name": "Admin", "description": "Can read and write things" }, { - "id": "rol_WHMW5tI8GYuTShEL", + "id": "rol_7lCohdU6rjViF9BJ", "name": "Reader", "description": "Can only read things" }, { - "id": "rol_dkoJYFPEbm4fBQUa", + "id": "rol_ZVXhUfVpRnHPMoVN", "name": "read_only", "description": "Read Only" }, { - "id": "rol_6mNIPtAC2wBSBD7S", + "id": "rol_wlMa14cHtcqr1KdB", "name": "read_osnly", "description": "Readz Only" } @@ -19867,7 +18585,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_QUkalOG8CI2qT7cg/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -19882,12 +18600,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_QUkalOG8CI2qT7cg/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { "permissions": [], - "start": 0, + "start": 100, "limit": 100, "total": 0 }, @@ -19897,7 +18615,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_7lCohdU6rjViF9BJ/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -19912,12 +18630,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_7lCohdU6rjViF9BJ/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { "permissions": [], - "start": 0, + "start": 100, "limit": 100, "total": 0 }, @@ -19927,7 +18645,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_ZVXhUfVpRnHPMoVN/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -19942,12 +18660,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_ZVXhUfVpRnHPMoVN/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { "permissions": [], - "start": 0, + "start": 100, "limit": 100, "total": 0 }, @@ -19957,7 +18675,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_wlMa14cHtcqr1KdB/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -19972,12 +18690,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_wlMa14cHtcqr1KdB/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { "permissions": [], - "start": 0, + "start": 100, "limit": 100, "total": 0 }, @@ -20031,7 +18749,7 @@ }, "credentials": null, "created_at": "2025-12-09T12:24:00.604Z", - "updated_at": "2025-12-09T12:30:28.218Z" + "updated_at": "2025-12-16T05:15:18.469Z" } ] }, @@ -20053,7 +18771,7 @@ "type": "blocked_account", "disabled": false, "created_at": "2025-12-09T12:22:47.683Z", - "updated_at": "2025-12-09T12:30:30.019Z", + "updated_at": "2025-12-16T05:15:21.194Z", "content": { "syntax": "liquid", "body": { @@ -20070,7 +18788,7 @@ "type": "change_password", "disabled": false, "created_at": "2025-12-09T12:26:20.243Z", - "updated_at": "2025-12-09T12:30:30.034Z", + "updated_at": "2025-12-16T05:15:21.476Z", "content": { "syntax": "liquid", "body": { @@ -20086,7 +18804,7 @@ "type": "otp_enroll", "disabled": false, "created_at": "2025-12-09T12:26:25.327Z", - "updated_at": "2025-12-09T12:30:30.174Z", + "updated_at": "2025-12-16T05:15:21.567Z", "content": { "syntax": "liquid", "body": { @@ -20102,7 +18820,7 @@ "type": "otp_verify", "disabled": false, "created_at": "2025-12-09T12:26:30.547Z", - "updated_at": "2025-12-09T12:30:30.365Z", + "updated_at": "2025-12-16T05:15:21.814Z", "content": { "syntax": "liquid", "body": { @@ -20214,7 +18932,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-password/custom-text/en", + "path": "/api/v2/prompts/login-id/custom-text/en", "body": "", "status": 200, "response": {}, @@ -20224,7 +18942,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/custom-text/en", + "path": "/api/v2/prompts/login-password/custom-text/en", "body": "", "status": 200, "response": {}, @@ -20244,7 +18962,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup/custom-text/en", + "path": "/api/v2/prompts/login-email-verification/custom-text/en", "body": "", "status": 200, "response": {}, @@ -20254,7 +18972,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-email-verification/custom-text/en", + "path": "/api/v2/prompts/signup/custom-text/en", "body": "", "status": 200, "response": {}, @@ -20324,7 +19042,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/consent/custom-text/en", + "path": "/api/v2/prompts/custom-form/custom-text/en", "body": "", "status": 200, "response": {}, @@ -20334,7 +19052,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/custom-form/custom-text/en", + "path": "/api/v2/prompts/consent/custom-text/en", "body": "", "status": 200, "response": {}, @@ -20344,7 +19062,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/logout/custom-text/en", + "path": "/api/v2/prompts/customized-consent/custom-text/en", "body": "", "status": 200, "response": {}, @@ -20354,7 +19072,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/customized-consent/custom-text/en", + "path": "/api/v2/prompts/logout/custom-text/en", "body": "", "status": 200, "response": {}, @@ -20434,7 +19152,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-recovery-code/custom-text/en", + "path": "/api/v2/prompts/mfa/custom-text/en", "body": "", "status": 200, "response": {}, @@ -20444,7 +19162,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa/custom-text/en", + "path": "/api/v2/prompts/mfa-recovery-code/custom-text/en", "body": "", "status": 200, "response": {}, @@ -20504,7 +19222,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/common/custom-text/en", + "path": "/api/v2/prompts/invitation/custom-text/en", "body": "", "status": 200, "response": {}, @@ -20514,7 +19232,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/invitation/custom-text/en", + "path": "/api/v2/prompts/common/custom-text/en", "body": "", "status": 200, "response": {}, @@ -20630,94 +19348,94 @@ "response": { "actions": [ { - "id": "4273221d-f20e-44e6-aa9d-d45702782e4e", - "name": "My Custom Action", + "id": "40d899f3-a209-42a2-a3ed-39e764dcbc33", + "name": "Custom Phone Provider", "supported_triggers": [ { - "id": "post-login", - "version": "v2" + "id": "custom-phone-provider", + "version": "v1" } ], - "created_at": "2025-12-05T14:18:53.100690661Z", - "updated_at": "2025-12-09T12:31:15.977676526Z", - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "created_at": "2025-12-11T11:30:13.629492200Z", + "updated_at": "2025-12-16T05:15:01.577210494Z", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "runtime": "node18", + "runtime": "node22", "status": "built", "secrets": [], "current_version": { - "id": "a20b7a92-0d6e-4926-9226-fb83db144dae", - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "runtime": "node18", + "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "runtime": "node22", "status": "BUILT", - "number": 7, - "build_time": "2025-12-09T12:31:16.794944131Z", - "created_at": "2025-12-09T12:31:16.719266241Z", - "updated_at": "2025-12-09T12:31:16.796068316Z" + "number": 5, + "build_time": "2025-12-16T05:15:03.730905338Z", + "created_at": "2025-12-16T05:15:03.656132145Z", + "updated_at": "2025-12-16T05:15:03.732003986Z" }, "deployed_version": { - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "a20b7a92-0d6e-4926-9226-fb83db144dae", + "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", "deployed": true, - "number": 7, - "built_at": "2025-12-09T12:31:16.794944131Z", + "number": 5, + "built_at": "2025-12-16T05:15:03.730905338Z", "secrets": [], "status": "built", - "created_at": "2025-12-09T12:31:16.719266241Z", - "updated_at": "2025-12-09T12:31:16.796068316Z", - "runtime": "node18", + "created_at": "2025-12-16T05:15:03.656132145Z", + "updated_at": "2025-12-16T05:15:03.732003986Z", + "runtime": "node22", "supported_triggers": [ { - "id": "post-login", - "version": "v2" + "id": "custom-phone-provider", + "version": "v1" } ] }, "all_changes_deployed": true }, { - "id": "50d86033-6bc2-4ceb-8991-d14c85d2e304", - "name": "Custom Phone Provider", + "id": "e69869b2-169a-4df9-9326-4447818092f6", + "name": "My Custom Action", "supported_triggers": [ { - "id": "custom-phone-provider", - "version": "v1" + "id": "post-login", + "version": "v2" } ], - "created_at": "2025-12-09T12:23:14.388072786Z", - "updated_at": "2025-12-09T12:30:12.235258402Z", - "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "created_at": "2025-12-16T05:17:04.860907359Z", + "updated_at": "2025-12-16T05:17:04.867817351Z", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "runtime": "node22", + "runtime": "node18", "status": "built", "secrets": [], "current_version": { - "id": "23bfff1b-d5bb-4f29-bcd5-d5a8779a6843", - "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", - "runtime": "node22", + "id": "a4d7af33-adee-49de-9898-744df792436e", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "runtime": "node18", "status": "BUILT", - "number": 3, - "build_time": "2025-12-09T12:30:13.066221969Z", - "created_at": "2025-12-09T12:30:12.977011820Z", - "updated_at": "2025-12-09T12:30:13.067900742Z" + "number": 1, + "build_time": "2025-12-16T05:17:06.111365724Z", + "created_at": "2025-12-16T05:17:06.028561552Z", + "updated_at": "2025-12-16T05:17:06.112541842Z" }, "deployed_version": { - "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "23bfff1b-d5bb-4f29-bcd5-d5a8779a6843", + "id": "a4d7af33-adee-49de-9898-744df792436e", "deployed": true, - "number": 3, - "built_at": "2025-12-09T12:30:13.066221969Z", + "number": 1, + "built_at": "2025-12-16T05:17:06.111365724Z", "secrets": [], "status": "built", - "created_at": "2025-12-09T12:30:12.977011820Z", - "updated_at": "2025-12-09T12:30:13.067900742Z", - "runtime": "node22", + "created_at": "2025-12-16T05:17:06.028561552Z", + "updated_at": "2025-12-16T05:17:06.112541842Z", + "runtime": "node18", "supported_triggers": [ { - "id": "custom-phone-provider", - "version": "v1" + "id": "post-login", + "version": "v2" } ] }, @@ -20807,6 +19525,7 @@ "version": "v2", "status": "CURRENT", "runtimes": [ + "node12", "node18-actions", "node22" ], @@ -20816,24 +19535,24 @@ }, { "id": "post-change-password", - "version": "v1", - "status": "DEPRECATED", + "version": "v2", + "status": "CURRENT", "runtimes": [ - "node12" + "node18-actions", + "node22" ], - "default_runtime": "node12", + "default_runtime": "node22", "binding_policy": "trigger-bound", "compatible_triggers": [] }, { - "id": "post-change-password", - "version": "v2", - "status": "CURRENT", + "id": "send-phone-message", + "version": "v1", + "status": "DEPRECATED", "runtimes": [ - "node18-actions", - "node22" + "node12" ], - "default_runtime": "node22", + "default_runtime": "node12", "binding_policy": "trigger-bound", "compatible_triggers": [] }, @@ -20919,6 +19638,17 @@ "default_runtime": "node22", "binding_policy": "entity-bound", "compatible_triggers": [] + }, + { + "id": "password-hash-migration", + "version": "v1", + "status": "CURRENT", + "runtimes": [ + "node22" + ], + "default_runtime": "node22", + "binding_policy": "entity-bound", + "compatible_triggers": [] } ] }, @@ -21038,10 +19768,10 @@ "response": { "bindings": [ { - "id": "0c7814f9-5cbb-47bc-a868-cac7b38e7225", + "id": "d885dc2e-8002-4692-ba48-e70d9325fe78", "trigger_id": "custom-phone-provider", "action": { - "id": "50d86033-6bc2-4ceb-8991-d14c85d2e304", + "id": "40d899f3-a209-42a2-a3ed-39e764dcbc33", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -21049,29 +19779,29 @@ "version": "v1" } ], - "created_at": "2025-12-09T12:23:14.388072786Z", - "updated_at": "2025-12-09T12:30:12.225370374Z", + "created_at": "2025-12-11T11:30:13.629492200Z", + "updated_at": "2025-12-16T05:15:01.571703559Z", "current_version": { - "id": "23bfff1b-d5bb-4f29-bcd5-d5a8779a6843", + "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "runtime": "node22", "status": "BUILT", - "number": 3, - "build_time": "2025-12-09T12:30:13.066221969Z", - "created_at": "2025-12-09T12:30:12.977011820Z", - "updated_at": "2025-12-09T12:30:13.067900742Z" + "number": 5, + "build_time": "2025-12-16T05:15:03.730905338Z", + "created_at": "2025-12-16T05:15:03.656132145Z", + "updated_at": "2025-12-16T05:15:03.732003986Z" }, "deployed_version": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "23bfff1b-d5bb-4f29-bcd5-d5a8779a6843", + "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", "deployed": true, - "number": 3, - "built_at": "2025-12-09T12:30:13.066221969Z", + "number": 5, + "built_at": "2025-12-16T05:15:03.730905338Z", "secrets": [], "status": "built", - "created_at": "2025-12-09T12:30:12.977011820Z", - "updated_at": "2025-12-09T12:30:13.067900742Z", + "created_at": "2025-12-16T05:15:03.656132145Z", + "updated_at": "2025-12-16T05:15:03.732003986Z", "runtime": "node22", "supported_triggers": [ { @@ -21082,8 +19812,8 @@ }, "all_changes_deployed": false }, - "created_at": "2025-12-09T12:30:40.877571889Z", - "updated_at": "2025-12-09T12:30:40.877571889Z", + "created_at": "2025-12-16T05:15:29.671498879Z", + "updated_at": "2025-12-16T05:15:29.671498879Z", "display_name": "Custom Phone Provider" } ], @@ -21132,6 +19862,19 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/actions/triggers/password-hash-migration/bindings?page=0&per_page=50", + "body": "", + "status": 200, + "response": { + "bindings": [], + "per_page": 50 + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -21141,7 +19884,7 @@ "response": { "organizations": [ { - "id": "org_fIRF1it8cTOyf2yS", + "id": "org_xx56mAIMVPiBVeuu", "name": "org1", "display_name": "Organization", "branding": { @@ -21152,7 +19895,7 @@ } }, { - "id": "org_hWOYWXtnxIpJ0MX3", + "id": "org_BF11sKCsVKejD9RE", "name": "org2", "display_name": "Organization2" } @@ -21254,7 +19997,7 @@ "subject": "deprecated" } ], - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -21307,7 +20050,7 @@ "subject": "deprecated" } ], - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -21352,7 +20095,7 @@ "subject": "deprecated" } ], - "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -21406,7 +20149,7 @@ } ], "allowed_origins": [], - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -21452,7 +20195,7 @@ "subject": "deprecated" } ], - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -21505,7 +20248,7 @@ "subject": "deprecated" } ], - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -21565,7 +20308,7 @@ "subject": "deprecated" } ], - "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -21623,7 +20366,7 @@ "subject": "deprecated" } ], - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -21684,7 +20427,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -21699,7 +20442,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/enabled_connections?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -21714,7 +20457,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -21729,12 +20472,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/client-grants?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { "client_grants": [], - "start": 0, + "start": 50, "limit": 50, "total": 0 }, @@ -21744,7 +20487,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/discovery-domains?take=50", + "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -21756,7 +20499,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/discovery-domains?take=50", + "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -21768,7 +20511,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -21783,7 +20526,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/enabled_connections?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -21798,7 +20541,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -21813,12 +20556,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/client-grants?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { "client_grants": [], - "start": 0, + "start": 50, "limit": 50, "total": 0 }, @@ -21828,7 +20571,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/discovery-domains?take=50", + "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -21840,7 +20583,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/discovery-domains?take=50", + "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -21849,25 +20592,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/attack-protection/brute-force-protection", - "body": "", - "status": 200, - "response": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 10 - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -21891,6 +20615,25 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/attack-protection/brute-force-protection", + "body": "", + "status": 200, + "response": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 10 + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -21912,12 +20655,33 @@ "pre-user-registration": { "max_attempts": 50, "rate": 1200 + }, + "pre-custom-token-exchange": { + "max_attempts": 10, + "rate": 600000 } } }, "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/attack-protection/bot-detection", + "body": "", + "status": 200, + "response": { + "challenge_password_policy": "never", + "challenge_passwordless_policy": "never", + "challenge_password_reset_policy": "never", + "allowlist": [], + "bot_detection_level": "medium", + "monitoring_mode_enabled": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -21953,23 +20717,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/attack-protection/bot-detection", - "body": "", - "status": 200, - "response": { - "challenge_password_policy": "never", - "challenge_passwordless_policy": "never", - "challenge_password_reset_policy": "never", - "allowlist": [], - "bot_detection_level": "medium", - "monitoring_mode_enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -21978,7 +20725,7 @@ "status": 200, "response": [ { - "id": "lst_0000000000025431", + "id": "lst_0000000000025583", "name": "Suspended DD Log Stream", "type": "datadog", "status": "active", @@ -21989,14 +20736,14 @@ "isPriority": false }, { - "id": "lst_0000000000025432", + "id": "lst_0000000000025584", "name": "Amazon EventBridge", "type": "eventbridge", "status": "active", "sink": { "awsAccountId": "123456789012", "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-84b807b2-8a87-4d4b-87eb-ff1b56370b3a/auth0.logs" + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-baf843b1-5e3d-4cfa-86b7-b0cec812ad73/auth0.logs" }, "filters": [ { @@ -22083,7 +20830,7 @@ "name": "Blank-form", "flow_count": 0, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-09T12:31:42.735Z" + "updated_at": "2025-12-16T05:17:40.044Z" } ] }, @@ -22169,7 +20916,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-09T12:31:42.735Z" + "updated_at": "2025-12-16T05:17:40.044Z" }, "rawHeaders": [], "responseIsBinary": false @@ -22177,14 +20924,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { - "limit": 50, + "limit": 100, "start": 0, "total": 0, - "connections": [] + "flows": [] }, "rawHeaders": [], "responseIsBinary": false @@ -22192,14 +20939,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "limit": 100, + "limit": 50, "start": 0, "total": 0, - "flows": [] + "connections": [] }, "rawHeaders": [], "responseIsBinary": false @@ -22207,12 +20954,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { "limit": 50, - "start": 0, + "start": 50, "total": 0, "connections": [] }, @@ -22237,12 +20984,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { "limit": 50, - "start": 0, + "start": 50, "total": 0, "connections": [] }, @@ -22278,7 +21025,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-09T12:31:31.782Z", + "updated_at": "2025-12-16T05:17:30.753Z", "branding": { "colors": { "primary": "#19aecc" @@ -22330,7 +21077,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-09T12:31:17.804Z", + "updated_at": "2025-12-16T05:17:08.381Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] @@ -22392,5 +21139,20 @@ }, "rawHeaders": [], "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/token-exchange-profiles?take=50", + "body": "", + "status": 403, + "response": { + "statusCode": 403, + "error": "Forbidden", + "message": "Insufficient scope, expected any of: read:token_exchange_profiles", + "errorCode": "insufficient_scope" + }, + "rawHeaders": [], + "responseIsBinary": false } ] \ No newline at end of file diff --git a/test/e2e/recordings/should-dump-and-deploy-without-throwing-an-error.json b/test/e2e/recordings/should-dump-and-deploy-without-throwing-an-error.json index 74fdf9202..e47aa8ff8 100644 --- a/test/e2e/recordings/should-dump-and-deploy-without-throwing-an-error.json +++ b/test/e2e/recordings/should-dump-and-deploy-without-throwing-an-error.json @@ -1089,6 +1089,22 @@ "value": "delete:organization_client_grants", "description": "Delete Organization Client Grants" }, + { + "value": "create:token_exchange_profiles", + "description": "Create Token Exchange Profile" + }, + { + "value": "read:token_exchange_profiles", + "description": "Read Token Exchange Profiles" + }, + { + "value": "update:token_exchange_profiles", + "description": "Update Token Exchange Profile" + }, + { + "value": "delete:token_exchange_profiles", + "description": "Delete Token Exchange Profile" + }, { "value": "read:security_metrics", "description": "Read Security Metrics" @@ -1120,7 +1136,7 @@ "body": "", "status": 200, "response": { - "total": 9, + "total": 2, "start": 0, "limit": 100, "clients": [ @@ -1206,7 +1222,7 @@ "subject": "deprecated" } ], - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1221,375 +1237,154 @@ "client_credentials" ], "custom_login_page_on": true - }, + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections?take=50&strategy=auth0", + "body": "", + "status": 200, + "response": { + "connections": [ { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false + "id": "con_4jeiJ5EmqMspBjmK", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true }, - "facebook": { - "enabled": false - } + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "authentication": { + "active": true }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false + "connected_accounts": { + "active": false }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" + "realms": [ + "Username-Password-Authentication" ], - "custom_login_page_on": true + "enabled_clients": [ + "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + ] + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK/clients?take=50", + "body": "", + "status": 200, + "response": { + "clients": [ + { + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn" }, { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK/clients?take=50", + "body": "", + "status": 200, + "response": { + "clients": [ + { + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn" }, { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections?take=50", + "body": "", + "status": 200, + "response": { + "connections": [ + { + "id": "con_4jeiJ5EmqMspBjmK", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true }, - "facebook": { - "enabled": false - } + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "authentication": { + "active": true }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "allowed_origins": [], - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false + "connected_accounts": { + "active": false }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "web_origins": [], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso": false, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" + "realms": [ + "Username-Password-Authentication" ], - "custom_login_page_on": true + "enabled_clients": [ + "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + ] } ] }, @@ -1599,394 +1394,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?take=50&strategy=auth0", - "body": "", - "status": 200, - "response": { - "connections": [ - { - "id": "con_bBSD5AQUW0Q5aLuE", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true - }, - "strategy": "auth0", - "name": "boo-baz-db-connection-test", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "boo-baz-db-connection-test" - ], - "enabled_clients": [ - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" - ] - }, - { - "id": "con_CfDqv7jPXpFqETeK", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ - { - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" - }, - { - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ - { - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" - }, - { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ - { - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" - }, - { - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ - { - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" - }, - { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?take=50", - "body": "", - "status": 200, - "response": { - "connections": [ - { - "id": "con_bBSD5AQUW0Q5aLuE", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true - }, - "strategy": "auth0", - "name": "boo-baz-db-connection-test", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "boo-baz-db-connection-test" - ], - "enabled_clients": [ - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" - ] - }, - { - "id": "con_yGZ6rzfkdR6mMBoE", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "google-oauth2" - ], - "enabled_clients": [ - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" - ] - }, - { - "id": "con_CfDqv7jPXpFqETeK", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ - { - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" - }, - { - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ - { - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" - }, - { - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/tenants/settings", + "path": "/api/v2/tenants/settings", "body": "", "status": 200, "response": { @@ -2106,22 +1514,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/stolen_credentials", - "body": "", - "status": 404, - "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/email-templates/change_password", + "path": "/api/v2/email-templates/reset_email", "body": "", "status": 404, "response": { @@ -2155,7 +1548,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/blocked_account", + "path": "/api/v2/email-templates/reset_email_by_code", "body": "", "status": 404, "response": { @@ -2170,7 +1563,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/enrollment_email", + "path": "/api/v2/email-templates/blocked_account", "body": "", "status": 404, "response": { @@ -2185,7 +1578,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/password_reset", + "path": "/api/v2/email-templates/stolen_credentials", "body": "", "status": 404, "response": { @@ -2200,7 +1593,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email", + "path": "/api/v2/email-templates/enrollment_email", "body": "", "status": 404, "response": { @@ -2215,7 +1608,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/async_approval", + "path": "/api/v2/email-templates/mfa_oob_code", "body": "", "status": 404, "response": { @@ -2230,7 +1623,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/mfa_oob_code", + "path": "/api/v2/email-templates/password_reset", "body": "", "status": 404, "response": { @@ -2245,7 +1638,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/user_invitation", + "path": "/api/v2/email-templates/change_password", "body": "", "status": 404, "response": { @@ -2260,7 +1653,22 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email_by_code", + "path": "/api/v2/email-templates/async_approval", + "body": "", + "status": 404, + "response": { + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/email-templates/user_invitation", "body": "", "status": 404, "response": { @@ -2281,8 +1689,8 @@ "response": { "client_grants": [ { - "id": "cgr_JYmQHwQEXGDCc53P", - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "id": "cgr_pbwejzhwoujrsNE8", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -2309,6 +1717,10 @@ "update:client_keys", "delete:client_keys", "create:client_keys", + "read:client_credentials", + "update:client_credentials", + "delete:client_credentials", + "create:client_credentials", "read:connections", "update:connections", "delete:connections", @@ -2398,10 +1810,19 @@ "read:entitlements", "read:attack_protection", "update:attack_protection", + "read:organizations_summary", + "create:authentication_methods", + "read:authentication_methods", + "update:authentication_methods", + "delete:authentication_methods", "read:organizations", "update:organizations", "create:organizations", "delete:organizations", + "read:organization_discovery_domains", + "update:organization_discovery_domains", + "create:organization_discovery_domains", + "delete:organization_discovery_domains", "create:organization_members", "read:organization_members", "delete:organization_members", @@ -2414,380 +1835,91 @@ "delete:organization_member_roles", "create:organization_invitations", "read:organization_invitations", - "delete:organization_invitations" - ], - "subject_type": "client" - }, - { - "id": "cgr_ReJeayDzA8FTvFPY", - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" - ], - "subject_type": "client" - }, - { - "id": "cgr_pbwejzhwoujrsNE8", - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:client_credentials", - "update:client_credentials", - "delete:client_credentials", - "create:client_credentials", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations_summary", - "create:authentication_methods", - "read:authentication_methods", - "update:authentication_methods", - "delete:authentication_methods", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "read:organization_discovery_domains", - "update:organization_discovery_domains", - "create:organization_discovery_domains", - "delete:organization_discovery_domains", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations", - "read:scim_config", - "create:scim_config", - "update:scim_config", - "delete:scim_config", - "create:scim_token", - "read:scim_token", - "delete:scim_token", - "delete:phone_providers", - "create:phone_providers", - "read:phone_providers", - "update:phone_providers", - "delete:phone_templates", - "create:phone_templates", - "read:phone_templates", - "update:phone_templates", - "create:encryption_keys", - "read:encryption_keys", - "update:encryption_keys", - "delete:encryption_keys", - "read:sessions", - "update:sessions", - "delete:sessions", - "read:refresh_tokens", - "delete:refresh_tokens", - "create:self_service_profiles", - "read:self_service_profiles", - "update:self_service_profiles", - "delete:self_service_profiles", - "create:sso_access_tickets", - "delete:sso_access_tickets", - "read:forms", - "update:forms", - "delete:forms", - "create:forms", - "read:flows", - "update:flows", - "delete:flows", - "create:flows", - "read:flows_vault", - "read:flows_vault_connections", - "update:flows_vault_connections", - "delete:flows_vault_connections", - "create:flows_vault_connections", - "read:flows_executions", - "delete:flows_executions", - "read:connections_options", - "update:connections_options", - "read:self_service_profile_custom_texts", - "update:self_service_profile_custom_texts", - "create:network_acls", - "update:network_acls", - "read:network_acls", - "delete:network_acls", - "delete:vdcs_templates", - "read:vdcs_templates", - "create:vdcs_templates", - "update:vdcs_templates", - "create:custom_signing_keys", - "read:custom_signing_keys", - "update:custom_signing_keys", - "delete:custom_signing_keys", - "read:federated_connections_tokens", - "delete:federated_connections_tokens", - "create:user_attribute_profiles", - "read:user_attribute_profiles", - "update:user_attribute_profiles", - "delete:user_attribute_profiles", - "read:event_streams", - "create:event_streams", - "delete:event_streams", - "update:event_streams", - "read:event_deliveries", - "update:event_deliveries", - "create:connection_profiles", - "read:connection_profiles", - "update:connection_profiles", - "delete:connection_profiles", - "read:organization_client_grants", - "create:organization_client_grants", - "delete:organization_client_grants", - "read:security_metrics", - "read:connections_keys", - "update:connections_keys", - "create:connections_keys" + "delete:organization_invitations", + "read:scim_config", + "create:scim_config", + "update:scim_config", + "delete:scim_config", + "create:scim_token", + "read:scim_token", + "delete:scim_token", + "delete:phone_providers", + "create:phone_providers", + "read:phone_providers", + "update:phone_providers", + "delete:phone_templates", + "create:phone_templates", + "read:phone_templates", + "update:phone_templates", + "create:encryption_keys", + "read:encryption_keys", + "update:encryption_keys", + "delete:encryption_keys", + "read:sessions", + "update:sessions", + "delete:sessions", + "read:refresh_tokens", + "delete:refresh_tokens", + "create:self_service_profiles", + "read:self_service_profiles", + "update:self_service_profiles", + "delete:self_service_profiles", + "create:sso_access_tickets", + "delete:sso_access_tickets", + "read:forms", + "update:forms", + "delete:forms", + "create:forms", + "read:flows", + "update:flows", + "delete:flows", + "create:flows", + "read:flows_vault", + "read:flows_vault_connections", + "update:flows_vault_connections", + "delete:flows_vault_connections", + "create:flows_vault_connections", + "read:flows_executions", + "delete:flows_executions", + "read:connections_options", + "update:connections_options", + "read:self_service_profile_custom_texts", + "update:self_service_profile_custom_texts", + "create:network_acls", + "update:network_acls", + "read:network_acls", + "delete:network_acls", + "delete:vdcs_templates", + "read:vdcs_templates", + "create:vdcs_templates", + "update:vdcs_templates", + "create:custom_signing_keys", + "read:custom_signing_keys", + "update:custom_signing_keys", + "delete:custom_signing_keys", + "read:federated_connections_tokens", + "delete:federated_connections_tokens", + "create:user_attribute_profiles", + "read:user_attribute_profiles", + "update:user_attribute_profiles", + "delete:user_attribute_profiles", + "read:event_streams", + "create:event_streams", + "delete:event_streams", + "update:event_streams", + "read:event_deliveries", + "update:event_deliveries", + "create:connection_profiles", + "read:connection_profiles", + "update:connection_profiles", + "delete:connection_profiles", + "read:organization_client_grants", + "create:organization_client_grants", + "delete:organization_client_grants", + "read:security_metrics", + "read:connections_keys", + "update:connections_keys", + "create:connections_keys" ], "subject_type": "client" } @@ -2921,31 +2053,10 @@ "body": "", "status": 200, "response": { - "roles": [ - { - "id": "rol_EH7ASyHIXKqKPc4X", - "name": "Admin", - "description": "Can read and write things" - }, - { - "id": "rol_WHMW5tI8GYuTShEL", - "name": "Reader", - "description": "Can only read things" - }, - { - "id": "rol_dkoJYFPEbm4fBQUa", - "name": "read_only", - "description": "Read Only" - }, - { - "id": "rol_6mNIPtAC2wBSBD7S", - "name": "read_osnly", - "description": "Readz Only" - } - ], + "roles": [], "start": 0, "limit": 100, - "total": 4 + "total": 0 }, "rawHeaders": [], "responseIsBinary": false @@ -2953,127 +2064,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/branding", + "path": "/api/v2/branding", "body": "", "status": 200, "response": { @@ -3117,7 +2108,7 @@ }, "credentials": null, "created_at": "2025-12-09T12:24:00.604Z", - "updated_at": "2025-12-09T12:26:07.171Z" + "updated_at": "2025-12-11T19:04:05.770Z" } ] }, @@ -3139,7 +2130,7 @@ "type": "blocked_account", "disabled": false, "created_at": "2025-12-09T12:22:47.683Z", - "updated_at": "2025-12-09T12:26:08.914Z", + "updated_at": "2025-12-09T12:30:30.019Z", "content": { "syntax": "liquid", "body": { @@ -3156,7 +2147,7 @@ "type": "change_password", "disabled": false, "created_at": "2025-12-09T12:26:20.243Z", - "updated_at": "2025-12-09T12:26:20.243Z", + "updated_at": "2025-12-09T12:30:30.034Z", "content": { "syntax": "liquid", "body": { @@ -3172,7 +2163,7 @@ "type": "otp_enroll", "disabled": false, "created_at": "2025-12-09T12:26:25.327Z", - "updated_at": "2025-12-09T12:26:25.327Z", + "updated_at": "2025-12-09T12:30:30.174Z", "content": { "syntax": "liquid", "body": { @@ -3188,7 +2179,7 @@ "type": "otp_verify", "disabled": false, "created_at": "2025-12-09T12:26:30.547Z", - "updated_at": "2025-12-09T12:26:30.547Z", + "updated_at": "2025-12-09T12:30:30.365Z", "content": { "syntax": "liquid", "body": { @@ -3350,7 +2341,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup-password/custom-text/en", + "path": "/api/v2/prompts/signup-id/custom-text/en", "body": "", "status": 200, "response": {}, @@ -3360,7 +2351,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup-id/custom-text/en", + "path": "/api/v2/prompts/signup-password/custom-text/en", "body": "", "status": 200, "response": {}, @@ -3570,7 +2561,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/organizations/custom-text/en", + "path": "/api/v2/prompts/email-otp-challenge/custom-text/en", "body": "", "status": 200, "response": {}, @@ -3580,7 +2571,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/email-otp-challenge/custom-text/en", + "path": "/api/v2/prompts/organizations/custom-text/en", "body": "", "status": 200, "response": {}, @@ -3620,7 +2611,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/brute-force-protection/custom-text/en", + "path": "/api/v2/prompts/passkeys/custom-text/en", "body": "", "status": 200, "response": {}, @@ -3630,7 +2621,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/passkeys/custom-text/en", + "path": "/api/v2/prompts/brute-force-protection/custom-text/en", "body": "", "status": 200, "response": {}, @@ -3640,7 +2631,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-password/partials", + "path": "/api/v2/prompts/login/partials", "body": "", "status": 200, "response": {}, @@ -3650,7 +2641,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/partials", + "path": "/api/v2/prompts/login-password/partials", "body": "", "status": 200, "response": {}, @@ -3660,7 +2651,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login/partials", + "path": "/api/v2/prompts/login-id/partials", "body": "", "status": 200, "response": {}, @@ -3670,7 +2661,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-passwordless/partials", + "path": "/api/v2/prompts/signup/partials", "body": "", "status": 200, "response": {}, @@ -3680,7 +2671,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup/partials", + "path": "/api/v2/prompts/signup-id/partials", "body": "", "status": 200, "response": {}, @@ -3690,7 +2681,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup-id/partials", + "path": "/api/v2/prompts/login-passwordless/partials", "body": "", "status": 200, "response": {}, @@ -3716,54 +2707,7 @@ "response": { "actions": [ { - "id": "4273221d-f20e-44e6-aa9d-d45702782e4e", - "name": "My Custom Action", - "supported_triggers": [ - { - "id": "post-login", - "version": "v2" - } - ], - "created_at": "2025-12-05T14:18:53.100690661Z", - "updated_at": "2025-12-09T12:25:51.494697086Z", - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "dependencies": [], - "runtime": "node18", - "status": "built", - "secrets": [], - "current_version": { - "id": "44fba440-0a0d-4db2-94bf-fc48386af8de", - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "runtime": "node18", - "status": "BUILT", - "number": 5, - "build_time": "2025-12-09T12:25:52.348112095Z", - "created_at": "2025-12-09T12:25:52.274537523Z", - "updated_at": "2025-12-09T12:25:52.349226046Z" - }, - "deployed_version": { - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "dependencies": [], - "id": "44fba440-0a0d-4db2-94bf-fc48386af8de", - "deployed": true, - "number": 5, - "built_at": "2025-12-09T12:25:52.348112095Z", - "secrets": [], - "status": "built", - "created_at": "2025-12-09T12:25:52.274537523Z", - "updated_at": "2025-12-09T12:25:52.349226046Z", - "runtime": "node18", - "supported_triggers": [ - { - "id": "post-login", - "version": "v2" - } - ] - }, - "all_changes_deployed": true - }, - { - "id": "50d86033-6bc2-4ceb-8991-d14c85d2e304", + "id": "40d899f3-a209-42a2-a3ed-39e764dcbc33", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -3771,34 +2715,34 @@ "version": "v1" } ], - "created_at": "2025-12-09T12:23:14.388072786Z", - "updated_at": "2025-12-09T12:25:51.513462250Z", + "created_at": "2025-12-11T11:30:13.629492200Z", + "updated_at": "2025-12-11T19:03:56.861288470Z", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], "runtime": "node22", "status": "built", "secrets": [], "current_version": { - "id": "96746eb0-d30a-43c8-97b1-7e52ed7f99d8", + "id": "7c1d4428-7721-40b7-91b0-c17278614787", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "runtime": "node22", "status": "BUILT", - "number": 2, - "build_time": "2025-12-09T12:25:52.371869360Z", - "created_at": "2025-12-09T12:25:52.307767155Z", - "updated_at": "2025-12-09T12:25:52.372388702Z" + "number": 4, + "build_time": "2025-12-11T19:03:57.560767224Z", + "created_at": "2025-12-11T19:03:57.472143Z", + "updated_at": "2025-12-11T19:03:57.562385412Z" }, "deployed_version": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "96746eb0-d30a-43c8-97b1-7e52ed7f99d8", + "id": "7c1d4428-7721-40b7-91b0-c17278614787", "deployed": true, - "number": 2, - "built_at": "2025-12-09T12:25:52.371869360Z", + "number": 4, + "built_at": "2025-12-11T19:03:57.560767224Z", "secrets": [], "status": "built", - "created_at": "2025-12-09T12:25:52.307767155Z", - "updated_at": "2025-12-09T12:25:52.372388702Z", + "created_at": "2025-12-11T19:03:57.472143Z", + "updated_at": "2025-12-11T19:03:57.562385412Z", "runtime": "node22", "supported_triggers": [ { @@ -3810,7 +2754,7 @@ "all_changes_deployed": true } ], - "total": 2, + "total": 1, "per_page": 100 }, "rawHeaders": [], @@ -3824,18 +2768,6 @@ "status": 200, "response": { "triggers": [ - { - "id": "post-login", - "version": "v2", - "status": "DEPRECATED", - "runtimes": [ - "node12", - "node18" - ], - "default_runtime": "node16", - "binding_policy": "trigger-bound", - "compatible_triggers": [] - }, { "id": "post-login", "version": "v3", @@ -3853,6 +2785,28 @@ } ] }, + { + "id": "post-login", + "version": "v2", + "status": "DEPRECATED", + "runtimes": [ + "node18" + ], + "default_runtime": "node16", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, + { + "id": "credentials-exchange", + "version": "v1", + "status": "DEPRECATED", + "runtimes": [ + "node12" + ], + "default_runtime": "node12", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, { "id": "credentials-exchange", "version": "v2", @@ -3878,22 +2832,12 @@ "binding_policy": "trigger-bound", "compatible_triggers": [] }, - { - "id": "post-user-registration", - "version": "v1", - "status": "DEPRECATED", - "runtimes": [ - "node12" - ], - "default_runtime": "node12", - "binding_policy": "trigger-bound", - "compatible_triggers": [] - }, { "id": "post-user-registration", "version": "v2", "status": "CURRENT", "runtimes": [ + "node12", "node18-actions", "node22" ], @@ -4006,6 +2950,17 @@ "default_runtime": "node22", "binding_policy": "entity-bound", "compatible_triggers": [] + }, + { + "id": "password-hash-migration", + "version": "v1", + "status": "CURRENT", + "runtimes": [ + "node22" + ], + "default_runtime": "node22", + "binding_policy": "entity-bound", + "compatible_triggers": [] } ] }, @@ -4125,10 +3080,10 @@ "response": { "bindings": [ { - "id": "98a1ef64-bf5f-4128-8ce5-0b3f966d81c9", + "id": "6b2e7f91-0bc4-428d-8ed0-590d245b03eb", "trigger_id": "custom-phone-provider", "action": { - "id": "50d86033-6bc2-4ceb-8991-d14c85d2e304", + "id": "40d899f3-a209-42a2-a3ed-39e764dcbc33", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -4136,29 +3091,29 @@ "version": "v1" } ], - "created_at": "2025-12-09T12:23:14.388072786Z", - "updated_at": "2025-12-09T12:25:51.502965767Z", + "created_at": "2025-12-11T11:30:13.629492200Z", + "updated_at": "2025-12-11T19:03:56.854977710Z", "current_version": { - "id": "96746eb0-d30a-43c8-97b1-7e52ed7f99d8", + "id": "7c1d4428-7721-40b7-91b0-c17278614787", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "runtime": "node22", "status": "BUILT", - "number": 2, - "build_time": "2025-12-09T12:25:52.371869360Z", - "created_at": "2025-12-09T12:25:52.307767155Z", - "updated_at": "2025-12-09T12:25:52.372388702Z" + "number": 4, + "build_time": "2025-12-11T19:03:57.560767224Z", + "created_at": "2025-12-11T19:03:57.472143Z", + "updated_at": "2025-12-11T19:03:57.562385412Z" }, "deployed_version": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "96746eb0-d30a-43c8-97b1-7e52ed7f99d8", + "id": "7c1d4428-7721-40b7-91b0-c17278614787", "deployed": true, - "number": 2, - "built_at": "2025-12-09T12:25:52.371869360Z", + "number": 4, + "built_at": "2025-12-11T19:03:57.560767224Z", "secrets": [], "status": "built", - "created_at": "2025-12-09T12:25:52.307767155Z", - "updated_at": "2025-12-09T12:25:52.372388702Z", + "created_at": "2025-12-11T19:03:57.472143Z", + "updated_at": "2025-12-11T19:03:57.562385412Z", "runtime": "node22", "supported_triggers": [ { @@ -4169,8 +3124,8 @@ }, "all_changes_deployed": false }, - "created_at": "2025-12-09T12:26:07.127919966Z", - "updated_at": "2025-12-09T12:26:07.127919966Z", + "created_at": "2025-12-11T19:04:12.425709969Z", + "updated_at": "2025-12-11T19:04:12.425709969Z", "display_name": "Custom Phone Provider" } ], @@ -4219,6 +3174,19 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/actions/triggers/password-hash-migration/bindings?page=0&per_page=50", + "body": "", + "status": 200, + "response": { + "bindings": [], + "per_page": 50 + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -4226,24 +3194,7 @@ "body": "", "status": 200, "response": { - "organizations": [ - { - "id": "org_fIRF1it8cTOyf2yS", - "name": "org1", - "display_name": "Organization", - "branding": { - "colors": { - "page_background": "#fff5f5", - "primary": "#57ddff" - } - } - }, - { - "id": "org_hWOYWXtnxIpJ0MX3", - "name": "org2", - "display_name": "Organization2" - } - ] + "organizations": [] }, "rawHeaders": [], "responseIsBinary": false @@ -4255,7 +3206,7 @@ "body": "", "status": 200, "response": { - "total": 10, + "total": 3, "start": 0, "limit": 100, "clients": [ @@ -4341,7 +3292,7 @@ "subject": "deprecated" } ], - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4359,79 +3310,30 @@ }, { "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", - "allowed_clients": [], + "global": true, "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, + "name": "All Applications", "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, "signing_keys": [ { "cert": "[REDACTED]", @@ -4439,361 +3341,84 @@ "subject": "deprecated" } ], - "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", - "callback_url_template": false, + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], "custom_login_page_on": true + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/attack-protection/brute-force-protection", + "body": "", + "status": 200, + "response": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 10 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/attack-protection/breached-password-detection", + "body": "", + "status": 200, + "response": { + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard", + "stage": { + "pre-user-registration": { + "shields": [] }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "allowed_origins": [], - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "web_origins": [], - "custom_login_page_on": true + "pre-change-password": { + "shields": [] + } + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/attack-protection/suspicious-ip-throttling", + "body": "", + "status": 200, + "response": { + "enabled": true, + "shields": [ + "admin_notification", + "block" + ], + "allowlist": [], + "stage": { + "pre-login": { + "max_attempts": 100, + "rate": 864000 }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true + "pre-user-registration": { + "max_attempts": 50, + "rate": 1200 }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso": false, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], - "is_first_party": true, - "name": "All Applications", - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true + "pre-custom-token-exchange": { + "max_attempts": 10, + "rate": 600000 } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/enabled_connections?page=0&per_page=50&include_totals=true", - "body": "", - "status": 200, - "response": { - "enabled_connections": [], - "start": 0, - "limit": 0, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/enabled_connections?page=0&per_page=50&include_totals=true", - "body": "", - "status": 200, - "response": { - "enabled_connections": [], - "start": 0, - "limit": 0, - "total": 0 + } }, "rawHeaders": [], "responseIsBinary": false @@ -4801,14 +3426,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/attack-protection/bot-detection", "body": "", "status": 200, "response": { - "client_grants": [], - "start": 0, - "limit": 50, - "total": 0 + "challenge_password_policy": "never", + "challenge_passwordless_policy": "never", + "challenge_password_reset_policy": "never", + "allowlist": [], + "bot_detection_level": "medium", + "monitoring_mode_enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -4816,14 +3443,34 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/attack-protection/captcha", "body": "", "status": 200, "response": { - "client_grants": [], - "start": 0, - "limit": 50, - "total": 0 + "active_provider_id": "auth_challenge", + "simple_captcha": {}, + "auth_challenge": { + "fail_open": false + }, + "recaptcha_v2": { + "site_key": "" + }, + "recaptcha_enterprise": { + "site_key": "", + "project_id": "" + }, + "hcaptcha": { + "site_key": "" + }, + "friendly_captcha": { + "site_key": "" + }, + "arkose": { + "site_key": "", + "client_subdomain": "client-api", + "verify_subdomain": "verify-api", + "fail_open": false + } }, "rawHeaders": [], "responseIsBinary": false @@ -4831,38 +3478,34 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/discovery-domains?take=50", + "path": "/api/v2/log-streams", "body": "", "status": 200, - "response": { - "domains": [] - }, + "response": [], "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/discovery-domains?take=50", + "path": "/api/v2/custom-domains", "body": "", "status": 200, - "response": { - "domains": [] - }, + "response": [], "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/branding/themes/default", "body": "", - "status": 200, + "status": 404, "response": { - "enabled_connections": [], - "start": 0, - "limit": 0, - "total": 0 + "statusCode": 404, + "error": "Not Found", + "message": "There was an error retrieving branding settings: invalid theme ID", + "errorCode": "theme_not_found" }, "rawHeaders": [], "responseIsBinary": false @@ -4870,14 +3513,22 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { - "enabled_connections": [], + "limit": 100, "start": 0, - "limit": 0, - "total": 0 + "total": 1, + "forms": [ + { + "id": "ap_6JUSCU7qq1CravnoU6d6jr", + "name": "Blank-form", + "flow_count": 0, + "created_at": "2024-11-26T11:58:18.187Z", + "updated_at": "2025-12-11T19:04:15.095Z" + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -4885,14 +3536,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { - "client_grants": [], + "limit": 100, "start": 0, - "limit": 50, - "total": 0 + "total": 0, + "flows": [] }, "rawHeaders": [], "responseIsBinary": false @@ -4900,302 +3551,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/client-grants?page=0&per_page=50&include_totals=true", - "body": "", - "status": 200, - "response": { - "client_grants": [], - "start": 0, - "limit": 50, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/discovery-domains?take=50", - "body": "", - "status": 200, - "response": { - "domains": [] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/discovery-domains?take=50", - "body": "", - "status": 200, - "response": { - "domains": [] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/attack-protection/breached-password-detection", - "body": "", - "status": 200, - "response": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard", - "stage": { - "pre-user-registration": { - "shields": [] - }, - "pre-change-password": { - "shields": [] - } - } - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/attack-protection/brute-force-protection", - "body": "", - "status": 200, - "response": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 10 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/attack-protection/suspicious-ip-throttling", - "body": "", - "status": 200, - "response": { - "enabled": true, - "shields": [ - "admin_notification", - "block" - ], - "allowlist": [], - "stage": { - "pre-login": { - "max_attempts": 100, - "rate": 864000 - }, - "pre-user-registration": { - "max_attempts": 50, - "rate": 1200 - } - } - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/attack-protection/bot-detection", - "body": "", - "status": 200, - "response": { - "challenge_password_policy": "never", - "challenge_passwordless_policy": "never", - "challenge_password_reset_policy": "never", - "allowlist": [], - "bot_detection_level": "medium", - "monitoring_mode_enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/attack-protection/captcha", - "body": "", - "status": 200, - "response": { - "active_provider_id": "auth_challenge", - "simple_captcha": {}, - "auth_challenge": { - "fail_open": false - }, - "recaptcha_v2": { - "site_key": "" - }, - "recaptcha_enterprise": { - "site_key": "", - "project_id": "" - }, - "hcaptcha": { - "site_key": "" - }, - "friendly_captcha": { - "site_key": "" - }, - "arkose": { - "site_key": "", - "client_subdomain": "client-api", - "verify_subdomain": "verify-api", - "fail_open": false - } - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/log-streams", - "body": "", - "status": 200, - "response": [ - { - "id": "lst_0000000000025431", - "name": "Suspended DD Log Stream", - "type": "datadog", - "status": "active", - "sink": { - "datadogApiKey": "##LOGSTREAMS_DATADOG_SECRET##", - "datadogRegion": "us" - }, - "isPriority": false - }, - { - "id": "lst_0000000000025432", - "name": "Amazon EventBridge", - "type": "eventbridge", - "status": "active", - "sink": { - "awsAccountId": "123456789012", - "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-84b807b2-8a87-4d4b-87eb-ff1b56370b3a/auth0.logs" - }, - "filters": [ - { - "type": "category", - "name": "auth.login.success" - }, - { - "type": "category", - "name": "auth.login.notification" - }, - { - "type": "category", - "name": "auth.login.fail" - }, - { - "type": "category", - "name": "auth.signup.success" - }, - { - "type": "category", - "name": "auth.logout.success" - }, - { - "type": "category", - "name": "auth.logout.fail" - }, - { - "type": "category", - "name": "auth.silent_auth.fail" - }, - { - "type": "category", - "name": "auth.silent_auth.success" - }, - { - "type": "category", - "name": "auth.token_exchange.fail" - } - ], - "isPriority": false - } - ], - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/custom-domains", - "body": "", - "status": 200, - "response": [], - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/branding/themes/default", - "body": "", - "status": 404, - "response": { - "statusCode": 404, - "error": "Not Found", - "message": "There was an error retrieving branding settings: invalid theme ID", - "errorCode": "theme_not_found" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", - "body": "", - "status": 200, - "response": { - "limit": 100, - "start": 0, - "total": 1, - "forms": [ - { - "id": "ap_6JUSCU7qq1CravnoU6d6jr", - "name": "Blank-form", - "flow_count": 0, - "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-05T14:24:57.289Z" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", - "body": "", - "status": 200, - "response": { - "limit": 100, - "start": 0, - "total": 0, - "flows": [] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/forms/ap_6JUSCU7qq1CravnoU6d6jr", + "path": "/api/v2/forms/ap_6JUSCU7qq1CravnoU6d6jr", "body": "", "status": 200, "response": { @@ -5256,7 +3612,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-05T14:24:57.289Z" + "updated_at": "2025-12-11T19:04:15.095Z" }, "rawHeaders": [], "responseIsBinary": false @@ -5294,12 +3650,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { "limit": 50, - "start": 0, + "start": 50, "total": 0, "connections": [] }, @@ -5324,12 +3680,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { "limit": 50, - "start": 0, + "start": 50, "total": 0, "connections": [] }, @@ -5365,7 +3721,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-09T12:26:08.151Z", + "updated_at": "2025-12-11T19:04:06.915Z", "branding": { "colors": { "primary": "#19aecc" @@ -5417,7 +3773,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-09T12:25:53.862Z", + "updated_at": "2025-12-11T19:03:58.933Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] @@ -5480,6 +3836,21 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/token-exchange-profiles?take=50", + "body": "", + "status": 403, + "response": { + "statusCode": 403, + "error": "Forbidden", + "message": "Insufficient scope, expected any of: read:token_exchange_profiles", + "errorCode": "insufficient_scope" + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -6652,7 +5023,23 @@ "description": "Delete Organization Client Grants" }, { - "value": "read:security_metrics", + "value": "create:token_exchange_profiles", + "description": "Create Token Exchange Profile" + }, + { + "value": "read:token_exchange_profiles", + "description": "Read Token Exchange Profiles" + }, + { + "value": "update:token_exchange_profiles", + "description": "Update Token Exchange Profile" + }, + { + "value": "delete:token_exchange_profiles", + "description": "Delete Token Exchange Profile" + }, + { + "value": "read:security_metrics", "description": "Read Security Metrics" }, { @@ -6682,7 +5069,7 @@ "body": "", "status": 200, "response": { - "total": 9, + "total": 2, "start": 0, "limit": 100, "clients": [ @@ -6768,159 +5155,7 @@ "subject": "deprecated" } ], - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "allowed_origins": [], - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6928,319 +5163,82 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", "grant_types": [ "authorization_code", "implicit", "refresh_token", "client_credentials" ], - "web_origins": [], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso": false, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/clients/feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", - "body": { - "name": "API Explorer Application", - "allowed_clients": [], - "app_type": "non_interactive", - "callbacks": [], - "client_aliases": [], - "client_metadata": {}, - "cross_origin_auth": false, - "cross_origin_authentication": false, - "custom_login_page_on": true, - "grant_types": [ - "client_credentials" - ], - "is_first_party": true, - "is_token_endpoint_ip_header_trusted": false, - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000 - }, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post" - }, - "status": 200, - "response": { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/clients/JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "body": { + "name": "Default App", + "callbacks": [], + "cross_origin_auth": false, + "cross_origin_authentication": false, + "custom_login_page_on": true, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "is_first_party": true, + "is_token_endpoint_ip_header_trusted": false, + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000 + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false + }, + "status": 200, + "response": { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Default App", + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ { "cert": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7248,10 +5246,10 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -7261,707 +5259,66 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/clients/BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "method": "PUT", + "path": "/api/v2/guardian/factors/duo", "body": { - "name": "Default App", - "callbacks": [], - "cross_origin_auth": false, - "cross_origin_authentication": false, - "custom_login_page_on": true, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "is_first_party": true, - "is_token_endpoint_ip_header_trusted": false, - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000 - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false + "enabled": false }, "status": 200, "response": { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", - "callbacks": [], - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" - } - ], - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true + "enabled": false }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/clients/xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "method": "PUT", + "path": "/api/v2/guardian/factors/email", "body": { - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "allowed_origins": [], - "app_type": "regular_web", - "callbacks": [], - "client_aliases": [], - "client_metadata": {}, - "cross_origin_auth": false, - "cross_origin_authentication": false, - "custom_login_page_on": true, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "is_first_party": true, - "is_token_endpoint_ip_header_trusted": false, - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000 - }, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post", - "web_origins": [] + "enabled": false }, "status": 200, "response": { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" - } - ], - "allowed_origins": [], - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "web_origins": [], - "custom_login_page_on": true + "enabled": false }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/clients/c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", + "method": "PUT", + "path": "/api/v2/guardian/factors/otp", "body": { - "name": "Quickstarts API (Test Application)", - "app_type": "non_interactive", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, - "cross_origin_authentication": false, - "custom_login_page_on": true, - "grant_types": [ - "client_credentials" - ], - "is_first_party": true, - "is_token_endpoint_ip_header_trusted": false, - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000 - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post" + "enabled": false }, "status": 200, "response": { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" - } - ], - "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true + "enabled": false }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/clients/3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "method": "PUT", + "path": "/api/v2/guardian/factors/push-notification", "body": { - "name": "Terraform Provider", - "app_type": "non_interactive", - "cross_origin_auth": false, - "cross_origin_authentication": false, - "custom_login_page_on": true, - "grant_types": [ - "client_credentials" - ], - "is_first_party": true, - "is_token_endpoint_ip_header_trusted": false, - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000 - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post" + "enabled": false }, "status": 200, "response": { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" - } - ], - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true + "enabled": false }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/clients/3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "method": "PUT", + "path": "/api/v2/guardian/factors/recovery-code", "body": { - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "app_type": "spa", - "callbacks": [ - "http://localhost:3000" - ], - "client_aliases": [], - "client_metadata": {}, - "cross_origin_auth": false, - "cross_origin_authentication": false, - "custom_login_page_on": true, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "is_first_party": true, - "is_token_endpoint_ip_header_trusted": false, - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000 - }, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "token_endpoint_auth_method": "none", - "web_origins": [ - "http://localhost:3000" - ] - }, - "status": 200, - "response": { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" - } - ], - "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/clients/ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", - "body": { - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_aliases": [], - "client_metadata": {}, - "cross_origin_auth": false, - "cross_origin_authentication": false, - "custom_login_page_on": true, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "is_first_party": true, - "is_token_endpoint_ip_header_trusted": false, - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000 - }, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso": false, - "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post" - }, - "status": 200, - "response": { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso": false, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" - } - ], - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/clients/XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "body": { - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "app_type": "non_interactive", - "callbacks": [], - "client_aliases": [], - "client_metadata": {}, - "cross_origin_auth": false, - "cross_origin_authentication": false, - "custom_login_page_on": true, - "grant_types": [ - "client_credentials" - ], - "is_first_party": true, - "is_token_endpoint_ip_header_trusted": false, - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000 - }, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post" - }, - "status": 200, - "response": { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" - } - ], - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PUT", - "path": "/api/v2/guardian/factors/email", - "body": { - "enabled": false - }, - "status": 200, - "response": { - "enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PUT", - "path": "/api/v2/guardian/factors/otp", - "body": { - "enabled": false + "enabled": false }, "status": 200, "response": { @@ -7984,34 +5341,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", - "body": { - "enabled": false - }, - "status": 200, - "response": { - "enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PUT", - "path": "/api/v2/guardian/factors/recovery-code", - "body": { - "enabled": false - }, - "status": 200, - "response": { - "enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", @@ -8029,21 +5358,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/push-notification", - "body": { - "enabled": false - }, - "status": 200, - "response": { - "enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PUT", - "path": "/api/v2/guardian/factors/duo", + "path": "/api/v2/guardian/factors/webauthn-roaming", "body": { "enabled": false }, @@ -8133,89 +5448,42 @@ "response": { "actions": [ { - "id": "4273221d-f20e-44e6-aa9d-d45702782e4e", - "name": "My Custom Action", - "supported_triggers": [ - { - "id": "post-login", - "version": "v2" - } - ], - "created_at": "2025-12-05T14:18:53.100690661Z", - "updated_at": "2025-12-09T12:25:51.494697086Z", - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "dependencies": [], - "runtime": "node18", - "status": "built", - "secrets": [], - "current_version": { - "id": "44fba440-0a0d-4db2-94bf-fc48386af8de", - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "runtime": "node18", - "status": "BUILT", - "number": 5, - "build_time": "2025-12-09T12:25:52.348112095Z", - "created_at": "2025-12-09T12:25:52.274537523Z", - "updated_at": "2025-12-09T12:25:52.349226046Z" - }, - "deployed_version": { - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "dependencies": [], - "id": "44fba440-0a0d-4db2-94bf-fc48386af8de", - "deployed": true, - "number": 5, - "built_at": "2025-12-09T12:25:52.348112095Z", - "secrets": [], - "status": "built", - "created_at": "2025-12-09T12:25:52.274537523Z", - "updated_at": "2025-12-09T12:25:52.349226046Z", - "runtime": "node18", - "supported_triggers": [ - { - "id": "post-login", - "version": "v2" - } - ] - }, - "all_changes_deployed": true - }, - { - "id": "50d86033-6bc2-4ceb-8991-d14c85d2e304", - "name": "Custom Phone Provider", + "id": "40d899f3-a209-42a2-a3ed-39e764dcbc33", + "name": "Custom Phone Provider", "supported_triggers": [ { "id": "custom-phone-provider", "version": "v1" } ], - "created_at": "2025-12-09T12:23:14.388072786Z", - "updated_at": "2025-12-09T12:25:51.513462250Z", + "created_at": "2025-12-11T11:30:13.629492200Z", + "updated_at": "2025-12-11T19:03:56.861288470Z", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], "runtime": "node22", "status": "built", "secrets": [], "current_version": { - "id": "96746eb0-d30a-43c8-97b1-7e52ed7f99d8", + "id": "7c1d4428-7721-40b7-91b0-c17278614787", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "runtime": "node22", "status": "BUILT", - "number": 2, - "build_time": "2025-12-09T12:25:52.371869360Z", - "created_at": "2025-12-09T12:25:52.307767155Z", - "updated_at": "2025-12-09T12:25:52.372388702Z" + "number": 4, + "build_time": "2025-12-11T19:03:57.560767224Z", + "created_at": "2025-12-11T19:03:57.472143Z", + "updated_at": "2025-12-11T19:03:57.562385412Z" }, "deployed_version": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "96746eb0-d30a-43c8-97b1-7e52ed7f99d8", + "id": "7c1d4428-7721-40b7-91b0-c17278614787", "deployed": true, - "number": 2, - "built_at": "2025-12-09T12:25:52.371869360Z", + "number": 4, + "built_at": "2025-12-11T19:03:57.560767224Z", "secrets": [], "status": "built", - "created_at": "2025-12-09T12:25:52.307767155Z", - "updated_at": "2025-12-09T12:25:52.372388702Z", + "created_at": "2025-12-11T19:03:57.472143Z", + "updated_at": "2025-12-11T19:03:57.562385412Z", "runtime": "node22", "supported_triggers": [ { @@ -8227,7 +5495,7 @@ "all_changes_deployed": true } ], - "total": 2, + "total": 1, "per_page": 100 }, "rawHeaders": [], @@ -8236,7 +5504,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/actions/actions/50d86033-6bc2-4ceb-8991-d14c85d2e304", + "path": "/api/v2/actions/actions/40d899f3-a209-42a2-a3ed-39e764dcbc33", "body": { "name": "Custom Phone Provider", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", @@ -8252,7 +5520,7 @@ }, "status": 200, "response": { - "id": "50d86033-6bc2-4ceb-8991-d14c85d2e304", + "id": "40d899f3-a209-42a2-a3ed-39e764dcbc33", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -8260,34 +5528,34 @@ "version": "v1" } ], - "created_at": "2025-12-09T12:23:14.388072786Z", - "updated_at": "2025-12-09T12:30:12.235258402Z", + "created_at": "2025-12-11T11:30:13.629492200Z", + "updated_at": "2025-12-16T05:15:01.577210494Z", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], "runtime": "node22", "status": "pending", "secrets": [], "current_version": { - "id": "96746eb0-d30a-43c8-97b1-7e52ed7f99d8", + "id": "7c1d4428-7721-40b7-91b0-c17278614787", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "runtime": "node22", "status": "BUILT", - "number": 2, - "build_time": "2025-12-09T12:25:52.371869360Z", - "created_at": "2025-12-09T12:25:52.307767155Z", - "updated_at": "2025-12-09T12:25:52.372388702Z" + "number": 4, + "build_time": "2025-12-11T19:03:57.560767224Z", + "created_at": "2025-12-11T19:03:57.472143Z", + "updated_at": "2025-12-11T19:03:57.562385412Z" }, "deployed_version": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "96746eb0-d30a-43c8-97b1-7e52ed7f99d8", + "id": "7c1d4428-7721-40b7-91b0-c17278614787", "deployed": true, - "number": 2, - "built_at": "2025-12-09T12:25:52.371869360Z", + "number": 4, + "built_at": "2025-12-11T19:03:57.560767224Z", "secrets": [], "status": "built", - "created_at": "2025-12-09T12:25:52.307767155Z", - "updated_at": "2025-12-09T12:25:52.372388702Z", + "created_at": "2025-12-11T19:03:57.472143Z", + "updated_at": "2025-12-11T19:03:57.562385412Z", "runtime": "node22", "supported_triggers": [ { @@ -8301,74 +5569,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/actions/actions/4273221d-f20e-44e6-aa9d-d45702782e4e", - "body": { - "name": "My Custom Action", - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "dependencies": [], - "runtime": "node18", - "secrets": [], - "supported_triggers": [ - { - "id": "post-login", - "version": "v2" - } - ] - }, - "status": 200, - "response": { - "id": "4273221d-f20e-44e6-aa9d-d45702782e4e", - "name": "My Custom Action", - "supported_triggers": [ - { - "id": "post-login", - "version": "v2" - } - ], - "created_at": "2025-12-05T14:18:53.100690661Z", - "updated_at": "2025-12-09T12:30:12.235100452Z", - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "dependencies": [], - "runtime": "node18", - "status": "pending", - "secrets": [], - "current_version": { - "id": "44fba440-0a0d-4db2-94bf-fc48386af8de", - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "runtime": "node18", - "status": "BUILT", - "number": 5, - "build_time": "2025-12-09T12:25:52.348112095Z", - "created_at": "2025-12-09T12:25:52.274537523Z", - "updated_at": "2025-12-09T12:25:52.349226046Z" - }, - "deployed_version": { - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "dependencies": [], - "id": "44fba440-0a0d-4db2-94bf-fc48386af8de", - "deployed": true, - "number": 5, - "built_at": "2025-12-09T12:25:52.348112095Z", - "secrets": [], - "status": "built", - "created_at": "2025-12-09T12:25:52.274537523Z", - "updated_at": "2025-12-09T12:25:52.349226046Z", - "runtime": "node18", - "supported_triggers": [ - { - "id": "post-login", - "version": "v2" - } - ] - }, - "all_changes_deployed": true - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -8378,54 +5578,7 @@ "response": { "actions": [ { - "id": "4273221d-f20e-44e6-aa9d-d45702782e4e", - "name": "My Custom Action", - "supported_triggers": [ - { - "id": "post-login", - "version": "v2" - } - ], - "created_at": "2025-12-05T14:18:53.100690661Z", - "updated_at": "2025-12-09T12:30:12.235100452Z", - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "dependencies": [], - "runtime": "node18", - "status": "built", - "secrets": [], - "current_version": { - "id": "44fba440-0a0d-4db2-94bf-fc48386af8de", - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "runtime": "node18", - "status": "BUILT", - "number": 5, - "build_time": "2025-12-09T12:25:52.348112095Z", - "created_at": "2025-12-09T12:25:52.274537523Z", - "updated_at": "2025-12-09T12:25:52.349226046Z" - }, - "deployed_version": { - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "dependencies": [], - "id": "44fba440-0a0d-4db2-94bf-fc48386af8de", - "deployed": true, - "number": 5, - "built_at": "2025-12-09T12:25:52.348112095Z", - "secrets": [], - "status": "built", - "created_at": "2025-12-09T12:25:52.274537523Z", - "updated_at": "2025-12-09T12:25:52.349226046Z", - "runtime": "node18", - "supported_triggers": [ - { - "id": "post-login", - "version": "v2" - } - ] - }, - "all_changes_deployed": true - }, - { - "id": "50d86033-6bc2-4ceb-8991-d14c85d2e304", + "id": "40d899f3-a209-42a2-a3ed-39e764dcbc33", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -8433,34 +5586,34 @@ "version": "v1" } ], - "created_at": "2025-12-09T12:23:14.388072786Z", - "updated_at": "2025-12-09T12:30:12.235258402Z", + "created_at": "2025-12-11T11:30:13.629492200Z", + "updated_at": "2025-12-16T05:15:01.577210494Z", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], "runtime": "node22", "status": "built", "secrets": [], "current_version": { - "id": "96746eb0-d30a-43c8-97b1-7e52ed7f99d8", + "id": "7c1d4428-7721-40b7-91b0-c17278614787", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "runtime": "node22", "status": "BUILT", - "number": 2, - "build_time": "2025-12-09T12:25:52.371869360Z", - "created_at": "2025-12-09T12:25:52.307767155Z", - "updated_at": "2025-12-09T12:25:52.372388702Z" + "number": 4, + "build_time": "2025-12-11T19:03:57.560767224Z", + "created_at": "2025-12-11T19:03:57.472143Z", + "updated_at": "2025-12-11T19:03:57.562385412Z" }, "deployed_version": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "96746eb0-d30a-43c8-97b1-7e52ed7f99d8", + "id": "7c1d4428-7721-40b7-91b0-c17278614787", "deployed": true, - "number": 2, - "built_at": "2025-12-09T12:25:52.371869360Z", + "number": 4, + "built_at": "2025-12-11T19:03:57.560767224Z", "secrets": [], "status": "built", - "created_at": "2025-12-09T12:25:52.307767155Z", - "updated_at": "2025-12-09T12:25:52.372388702Z", + "created_at": "2025-12-11T19:03:57.472143Z", + "updated_at": "2025-12-11T19:03:57.562385412Z", "runtime": "node22", "supported_triggers": [ { @@ -8472,7 +5625,7 @@ "all_changes_deployed": true } ], - "total": 2, + "total": 1, "per_page": 100 }, "rawHeaders": [], @@ -8481,59 +5634,19 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "POST", - "path": "/api/v2/actions/actions/4273221d-f20e-44e6-aa9d-d45702782e4e/deploy", - "body": "", - "status": 200, - "response": { - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "dependencies": [], - "id": "0add2116-19c1-4f2d-b66a-3592d7d38559", - "deployed": false, - "number": 6, - "secrets": [], - "status": "built", - "created_at": "2025-12-09T12:30:12.969210112Z", - "updated_at": "2025-12-09T12:30:12.969210112Z", - "runtime": "node18", - "supported_triggers": [ - { - "id": "post-login", - "version": "v2" - } - ], - "action": { - "id": "4273221d-f20e-44e6-aa9d-d45702782e4e", - "name": "My Custom Action", - "supported_triggers": [ - { - "id": "post-login", - "version": "v2" - } - ], - "created_at": "2025-12-05T14:18:53.100690661Z", - "updated_at": "2025-12-09T12:30:12.227479056Z", - "all_changes_deployed": false - } - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/actions/actions/50d86033-6bc2-4ceb-8991-d14c85d2e304/deploy", + "path": "/api/v2/actions/actions/40d899f3-a209-42a2-a3ed-39e764dcbc33/deploy", "body": "", "status": 200, "response": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "23bfff1b-d5bb-4f29-bcd5-d5a8779a6843", + "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", "deployed": false, - "number": 3, + "number": 5, "secrets": [], "status": "built", - "created_at": "2025-12-09T12:30:12.977011820Z", - "updated_at": "2025-12-09T12:30:12.977011820Z", + "created_at": "2025-12-16T05:15:03.656132145Z", + "updated_at": "2025-12-16T05:15:03.656132145Z", "runtime": "node22", "supported_triggers": [ { @@ -8542,7 +5655,7 @@ } ], "action": { - "id": "50d86033-6bc2-4ceb-8991-d14c85d2e304", + "id": "40d899f3-a209-42a2-a3ed-39e764dcbc33", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -8550,8 +5663,8 @@ "version": "v1" } ], - "created_at": "2025-12-09T12:23:14.388072786Z", - "updated_at": "2025-12-09T12:30:12.225370374Z", + "created_at": "2025-12-11T11:30:13.629492200Z", + "updated_at": "2025-12-16T05:15:01.571703559Z", "all_changes_deployed": false } }, @@ -8561,27 +5674,23 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/attack-protection/brute-force-protection", + "path": "/api/v2/attack-protection/bot-detection", "body": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", + "challenge_password_policy": "never", + "challenge_passwordless_policy": "never", + "challenge_password_reset_policy": "never", "allowlist": [], - "max_attempts": 10 + "bot_detection_level": "medium", + "monitoring_mode_enabled": false }, "status": 200, "response": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", + "challenge_password_policy": "never", + "challenge_passwordless_policy": "never", + "challenge_password_reset_policy": "never", "allowlist": [], - "max_attempts": 10 + "bot_detection_level": "medium", + "monitoring_mode_enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -8626,66 +5735,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/breached-password-detection", - "body": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard", - "stage": { - "pre-user-registration": { - "shields": [] - }, - "pre-change-password": { - "shields": [] - } - } - }, - "status": 200, - "response": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard", - "stage": { - "pre-user-registration": { - "shields": [] - }, - "pre-change-password": { - "shields": [] - } - } - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/bot-detection", - "body": { - "challenge_password_policy": "never", - "challenge_passwordless_policy": "never", - "challenge_password_reset_policy": "never", - "allowlist": [], - "bot_detection_level": "medium", - "monitoring_mode_enabled": false - }, - "status": 200, - "response": { - "challenge_password_policy": "never", - "challenge_passwordless_policy": "never", - "challenge_password_reset_policy": "never", - "allowlist": [], - "bot_detection_level": "medium", - "monitoring_mode_enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -8705,6 +5754,10 @@ "pre-user-registration": { "max_attempts": 50, "rate": 1200 + }, + "pre-custom-token-exchange": { + "max_attempts": 10, + "rate": 600000 } } }, @@ -8724,6 +5777,10 @@ "pre-user-registration": { "max_attempts": 50, "rate": 1200 + }, + "pre-custom-token-exchange": { + "max_attempts": 10, + "rate": 600000 } } }, @@ -8732,33 +5789,97 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/custom-domains", - "body": "", + "method": "PATCH", + "path": "/api/v2/attack-protection/brute-force-protection", + "body": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 10 + }, "status": 200, - "response": [], + "response": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 10 + }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/network-acls?page=0&per_page=100&include_totals=true", - "body": "", - "status": 200, - "response": { - "total": 1, - "start": 0, - "limit": 100, - "network_acls": [ - { - "description": "Allow Specific Countries", - "active": false, - "priority": 1, - "rule": { - "match": { - "geo_country_codes": [ - "US" + "method": "PATCH", + "path": "/api/v2/attack-protection/breached-password-detection", + "body": { + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard", + "stage": { + "pre-user-registration": { + "shields": [] + }, + "pre-change-password": { + "shields": [] + } + } + }, + "status": 200, + "response": { + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard", + "stage": { + "pre-user-registration": { + "shields": [] + }, + "pre-change-password": { + "shields": [] + } + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/custom-domains", + "body": "", + "status": 200, + "response": [], + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/network-acls?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "total": 1, + "start": 0, + "limit": 100, + "network_acls": [ + { + "description": "Allow Specific Countries", + "active": false, + "priority": 1, + "rule": { + "match": { + "geo_country_codes": [ + "US" ] }, "scope": "authentication", @@ -8767,7 +5888,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-09T12:25:53.862Z", + "updated_at": "2025-12-11T19:03:58.933Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] @@ -8812,7 +5933,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-09T12:30:14.491Z", + "updated_at": "2025-12-16T05:15:07.563Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" }, "rawHeaders": [], @@ -8876,9 +5997,9 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/user-attribute-profiles/uap_1csDj3sAVu6n5eTzLw6XZg", + "path": "/api/v2/user-attribute-profiles/uap_1csDj3szFsgxGS1oTZTdFm", "body": { - "name": "test-user-attribute-profile", + "name": "test-user-attribute-profile-2", "user_attributes": { "email": { "label": "Email", @@ -8899,8 +6020,8 @@ }, "status": 200, "response": { - "id": "uap_1csDj3sAVu6n5eTzLw6XZg", - "name": "test-user-attribute-profile", + "id": "uap_1csDj3szFsgxGS1oTZTdFm", + "name": "test-user-attribute-profile-2", "user_id": { "oidc_mapping": "sub", "saml_mapping": [ @@ -8925,9 +6046,9 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/user-attribute-profiles/uap_1csDj3szFsgxGS1oTZTdFm", + "path": "/api/v2/user-attribute-profiles/uap_1csDj3sAVu6n5eTzLw6XZg", "body": { - "name": "test-user-attribute-profile-2", + "name": "test-user-attribute-profile", "user_attributes": { "email": { "label": "Email", @@ -8948,8 +6069,8 @@ }, "status": 200, "response": { - "id": "uap_1csDj3szFsgxGS1oTZTdFm", - "name": "test-user-attribute-profile-2", + "id": "uap_1csDj3sAVu6n5eTzLw6XZg", + "name": "test-user-attribute-profile", "user_id": { "oidc_mapping": "sub", "saml_mapping": [ @@ -8978,7 +6099,7 @@ "body": "", "status": 200, "response": { - "total": 10, + "total": 3, "start": 0, "limit": 100, "clients": [ @@ -9064,7 +6185,7 @@ "subject": "deprecated" } ], - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9082,34 +6203,30 @@ }, { "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", - "allowed_clients": [], + "global": true, "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, + "name": "All Applications", "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, - "sso_disabled": false, - "cross_origin_authentication": false, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" + ], + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, "signing_keys": [ { "cert": "[REDACTED]", @@ -9117,86 +6234,342 @@ "subject": "deprecated" } ], - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", - "callback_url_template": false, + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], "custom_login_page_on": true - }, + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections?take=50&strategy=auth0", + "body": "", + "status": 200, + "response": { + "connections": [ { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" + "id": "con_4jeiJ5EmqMspBjmK", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true }, - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "authentication": { + "active": true }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false + "connected_accounts": { + "active": false }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" + "realms": [ + "Username-Password-Authentication" ], - "custom_login_page_on": true - }, + "enabled_clients": [ + "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + ] + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections?take=50&strategy=auth0", + "body": "", + "status": 200, + "response": { + "connections": [ { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false + "id": "con_4jeiJ5EmqMspBjmK", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true }, - "facebook": { - "enabled": false - } + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true }, + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "Username-Password-Authentication" + ], + "enabled_clients": [ + "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + ] + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK/clients?take=50", + "body": "", + "status": 200, + "response": { + "clients": [ + { + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn" + }, + { + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK/clients?take=50", + "body": "", + "status": 200, + "response": { + "clients": [ + { + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn" + }, + { + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK", + "body": "", + "status": 200, + "response": { + "id": "con_4jeiJ5EmqMspBjmK", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true + }, + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "enabled_clients": [ + "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + ], + "realms": [ + "Username-Password-Authentication" + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK", + "body": { + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn" + ], + "is_domain_connection": false, + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true + }, + "realms": [ + "Username-Password-Authentication" + ] + }, + "status": 200, + "response": { + "id": "con_4jeiJ5EmqMspBjmK", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true + }, + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn" + ], + "realms": [ + "Username-Password-Authentication" + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK/clients", + "body": [ + { + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "status": true + }, + { + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "status": true + } + ], + "status": 204, + "response": "", + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "total": 3, + "start": 0, + "limit": 100, + "clients": [ + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Deploy CLI", + "is_first_party": true, "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -9206,8 +6579,17 @@ "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "sso_disabled": false, - "cross_origin_authentication": false, + "cross_origin_authentication": true, + "allowed_clients": [], + "callbacks": [], + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "signing_keys": [ { "cert": "[REDACTED]", @@ -9215,8 +6597,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9226,21 +6607,21 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", + "client_credentials", "implicit", - "refresh_token", - "client_credentials" + "authorization_code", + "refresh_token" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", + "name": "Default App", + "callbacks": [], "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, @@ -9249,8 +6630,8 @@ "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, "sso_disabled": false, @@ -9262,7 +6643,7 @@ "subject": "deprecated" } ], - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9270,181 +6651,10 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso": false, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -9494,81 +6704,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?take=50&strategy=auth0", + "path": "/api/v2/connections?take=50", "body": "", "status": 200, "response": { "connections": [ { - "id": "con_bBSD5AQUW0Q5aLuE", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true - }, - "strategy": "auth0", - "name": "boo-baz-db-connection-test", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "boo-baz-db-connection-test" - ], - "enabled_clients": [ - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" - ] - }, - { - "id": "con_CfDqv7jPXpFqETeK", + "id": "con_4jeiJ5EmqMspBjmK", "options": { "mfa": { "active": true, @@ -9605,7 +6747,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -9617,81 +6759,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?take=50&strategy=auth0", + "path": "/api/v2/connections?take=50", "body": "", "status": 200, "response": { "connections": [ { - "id": "con_bBSD5AQUW0Q5aLuE", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true - }, - "strategy": "auth0", - "name": "boo-baz-db-connection-test", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "boo-baz-db-connection-test" - ], - "enabled_clients": [ - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" - ] - }, - { - "id": "con_CfDqv7jPXpFqETeK", + "id": "con_4jeiJ5EmqMspBjmK", "options": { "mfa": { "active": true, @@ -9728,7 +6802,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -9740,37 +6814,36 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients?take=50", + "path": "/api/v2/emails/provider?fields=name%2Cenabled%2Ccredentials%2Csettings%2Cdefault_from_address&include_fields=true", "body": "", "status": 200, "response": { - "clients": [ - { - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" - }, - { - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" - } - ] + "name": "mandrill", + "credentials": {}, + "default_from_address": "auth0-user@auth0.com", + "enabled": false }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients?take=50", - "body": "", + "method": "PATCH", + "path": "/api/v2/emails/provider", + "body": { + "name": "mandrill", + "credentials": { + "api_key": "##MANDRILL_API_KEY##" + }, + "default_from_address": "auth0-user@auth0.com", + "enabled": false + }, "status": 200, "response": { - "clients": [ - { - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" - }, - { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - } - ] + "name": "mandrill", + "credentials": {}, + "default_from_address": "auth0-user@auth0.com", + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -9778,113 +6851,149 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients?take=50", + "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { + "total": 3, + "start": 0, + "limit": 100, "clients": [ { - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Deploy CLI", + "is_first_party": true, + "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "cross_origin_authentication": true, + "allowed_clients": [], + "callbacks": [], + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials", + "implicit", + "authorization_code", + "refresh_token" + ], + "custom_login_page_on": true }, { - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ - { - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Default App", + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true }, { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE", - "body": "", - "status": 200, - "response": { - "id": "con_bBSD5AQUW0Q5aLuE", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, - "authentication_methods": { - "passkey": { - "enabled": false + "tenant": "auth0-deploy-cli-e2e", + "global": true, + "callbacks": [], + "is_first_party": true, + "name": "All Applications", + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true - }, - "strategy": "auth0", - "name": "boo-baz-db-connection-test", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "enabled_clients": [ - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" - ], - "realms": [ - "boo-baz-db-connection-test" + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" + ], + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true + } ] }, "rawHeaders": [], @@ -9893,4125 +7002,245 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK", + "path": "/api/v2/client-grants?take=50", "body": "", "status": 200, "response": { - "id": "con_CfDqv7jPXpFqETeK", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "enabled_clients": [ - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - ], - "realms": [ - "Username-Password-Authentication" - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK", - "body": { - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" - ], - "is_domain_connection": false, - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true - }, - "realms": [ - "Username-Password-Authentication" - ] - }, - "status": 200, - "response": { - "id": "con_CfDqv7jPXpFqETeK", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" - ], - "realms": [ - "Username-Password-Authentication" - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE", - "body": { - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "enabled_clients": [ - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" - ], - "is_domain_connection": false, - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true - }, - "realms": [ - "boo-baz-db-connection-test" - ] - }, - "status": 200, - "response": { - "id": "con_bBSD5AQUW0Q5aLuE", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true - }, - "strategy": "auth0", - "name": "boo-baz-db-connection-test", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "enabled_clients": [ - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" - ], - "realms": [ - "boo-baz-db-connection-test" - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients", - "body": [ - { - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "status": true - }, - { - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "status": true - } - ], - "status": 204, - "response": "", - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients", - "body": [ - { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "status": true - }, - { - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", - "status": true - } - ], - "status": 204, - "response": "", - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", - "body": "", - "status": 200, - "response": { - "total": 10, - "start": 0, - "limit": 100, - "clients": [ + "client_grants": [ { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", - "is_first_party": true, - "oidc_conformant": true, - "sso_disabled": false, - "cross_origin_auth": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "cross_origin_authentication": true, - "allowed_clients": [], - "callbacks": [], - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], + "id": "cgr_pbwejzhwoujrsNE8", "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials", - "implicit", - "authorization_code", - "refresh_token" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", - "callbacks": [], - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "allowed_origins": [], - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "web_origins": [], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso": false, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], - "is_first_party": true, - "name": "All Applications", - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?take=50", - "body": "", - "status": 200, - "response": { - "connections": [ - { - "id": "con_bBSD5AQUW0Q5aLuE", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true - }, - "strategy": "auth0", - "name": "boo-baz-db-connection-test", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "boo-baz-db-connection-test" - ], - "enabled_clients": [ - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" - ] - }, - { - "id": "con_yGZ6rzfkdR6mMBoE", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "google-oauth2" - ], - "enabled_clients": [ - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" - ] - }, - { - "id": "con_CfDqv7jPXpFqETeK", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?take=50", - "body": "", - "status": 200, - "response": { - "connections": [ - { - "id": "con_bBSD5AQUW0Q5aLuE", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true - }, - "strategy": "auth0", - "name": "boo-baz-db-connection-test", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "boo-baz-db-connection-test" - ], - "enabled_clients": [ - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" - ] - }, - { - "id": "con_yGZ6rzfkdR6mMBoE", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "google-oauth2" - ], - "enabled_clients": [ - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" - ] - }, - { - "id": "con_CfDqv7jPXpFqETeK", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ - { - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" - }, - { - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ - { - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" - }, - { - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE", - "body": { - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "enabled_clients": [ - "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" - ], - "is_domain_connection": false, - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - } - }, - "status": 200, - "response": { - "id": "con_yGZ6rzfkdR6mMBoE", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "enabled_clients": [ - "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" - ], - "realms": [ - "google-oauth2" - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients", - "body": [ - { - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", - "status": true - }, - { - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "status": true - } - ], - "status": 204, - "response": "", - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/emails/provider?fields=name%2Cenabled%2Ccredentials%2Csettings%2Cdefault_from_address&include_fields=true", - "body": "", - "status": 200, - "response": { - "name": "mandrill", - "credentials": {}, - "default_from_address": "auth0-user@auth0.com", - "enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/emails/provider", - "body": { - "name": "mandrill", - "credentials": { - "api_key": "##MANDRILL_API_KEY##" - }, - "default_from_address": "auth0-user@auth0.com", - "enabled": false - }, - "status": 200, - "response": { - "name": "mandrill", - "credentials": {}, - "default_from_address": "auth0-user@auth0.com", - "enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", - "body": "", - "status": 200, - "response": { - "total": 10, - "start": 0, - "limit": 100, - "clients": [ - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", - "is_first_party": true, - "oidc_conformant": true, - "sso_disabled": false, - "cross_origin_auth": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "cross_origin_authentication": true, - "allowed_clients": [], - "callbacks": [], - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials", - "implicit", - "authorization_code", - "refresh_token" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", - "callbacks": [], - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "allowed_origins": [], - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "web_origins": [], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso": false, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], - "is_first_party": true, - "name": "All Applications", - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/client-grants?take=50", - "body": "", - "status": 200, - "response": { - "client_grants": [ - { - "id": "cgr_JYmQHwQEXGDCc53P", - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" - ], - "subject_type": "client" - }, - { - "id": "cgr_ReJeayDzA8FTvFPY", - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" - ], - "subject_type": "client" - }, - { - "id": "cgr_pbwejzhwoujrsNE8", - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:client_credentials", - "update:client_credentials", - "delete:client_credentials", - "create:client_credentials", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations_summary", - "create:authentication_methods", - "read:authentication_methods", - "update:authentication_methods", - "delete:authentication_methods", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "read:organization_discovery_domains", - "update:organization_discovery_domains", - "create:organization_discovery_domains", - "delete:organization_discovery_domains", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations", - "read:scim_config", - "create:scim_config", - "update:scim_config", - "delete:scim_config", - "create:scim_token", - "read:scim_token", - "delete:scim_token", - "delete:phone_providers", - "create:phone_providers", - "read:phone_providers", - "update:phone_providers", - "delete:phone_templates", - "create:phone_templates", - "read:phone_templates", - "update:phone_templates", - "create:encryption_keys", - "read:encryption_keys", - "update:encryption_keys", - "delete:encryption_keys", - "read:sessions", - "update:sessions", - "delete:sessions", - "read:refresh_tokens", - "delete:refresh_tokens", - "create:self_service_profiles", - "read:self_service_profiles", - "update:self_service_profiles", - "delete:self_service_profiles", - "create:sso_access_tickets", - "delete:sso_access_tickets", - "read:forms", - "update:forms", - "delete:forms", - "create:forms", - "read:flows", - "update:flows", - "delete:flows", - "create:flows", - "read:flows_vault", - "read:flows_vault_connections", - "update:flows_vault_connections", - "delete:flows_vault_connections", - "create:flows_vault_connections", - "read:flows_executions", - "delete:flows_executions", - "read:connections_options", - "update:connections_options", - "read:self_service_profile_custom_texts", - "update:self_service_profile_custom_texts", - "create:network_acls", - "update:network_acls", - "read:network_acls", - "delete:network_acls", - "delete:vdcs_templates", - "read:vdcs_templates", - "create:vdcs_templates", - "update:vdcs_templates", - "create:custom_signing_keys", - "read:custom_signing_keys", - "update:custom_signing_keys", - "delete:custom_signing_keys", - "read:federated_connections_tokens", - "delete:federated_connections_tokens", - "create:user_attribute_profiles", - "read:user_attribute_profiles", - "update:user_attribute_profiles", - "delete:user_attribute_profiles", - "read:event_streams", - "create:event_streams", - "delete:event_streams", - "update:event_streams", - "read:event_deliveries", - "update:event_deliveries", - "create:connection_profiles", - "read:connection_profiles", - "update:connection_profiles", - "delete:connection_profiles", - "read:organization_client_grants", - "create:organization_client_grants", - "delete:organization_client_grants", - "read:security_metrics", - "read:connections_keys", - "update:connections_keys", - "create:connections_keys" - ], - "subject_type": "client" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/client-grants/cgr_JYmQHwQEXGDCc53P", - "body": { - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" - ] - }, - "status": 200, - "response": { - "id": "cgr_JYmQHwQEXGDCc53P", - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" - ], - "subject_type": "client" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/client-grants/cgr_ReJeayDzA8FTvFPY", - "body": { - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" - ] - }, - "status": 200, - "response": { - "id": "cgr_ReJeayDzA8FTvFPY", - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" - ], - "subject_type": "client" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "roles": [ - { - "id": "rol_EH7ASyHIXKqKPc4X", - "name": "Admin", - "description": "Can read and write things" - }, - { - "id": "rol_WHMW5tI8GYuTShEL", - "name": "Reader", - "description": "Can only read things" - }, - { - "id": "rol_dkoJYFPEbm4fBQUa", - "name": "read_only", - "description": "Read Only" - }, - { - "id": "rol_6mNIPtAC2wBSBD7S", - "name": "read_osnly", - "description": "Readz Only" - } - ], - "start": 0, - "limit": 100, - "total": 4 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X", - "body": { - "name": "Admin", - "description": "Can read and write things" - }, - "status": 200, - "response": { - "id": "rol_EH7ASyHIXKqKPc4X", - "name": "Admin", - "description": "Can read and write things" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL", - "body": { - "name": "Reader", - "description": "Can only read things" - }, - "status": 200, - "response": { - "id": "rol_WHMW5tI8GYuTShEL", - "name": "Reader", - "description": "Can only read things" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa", - "body": { - "name": "read_only", - "description": "Read Only" - }, - "status": 200, - "response": { - "id": "rol_dkoJYFPEbm4fBQUa", - "name": "read_only", - "description": "Read Only" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S", - "body": { - "name": "read_osnly", - "description": "Readz Only" - }, - "status": 200, - "response": { - "id": "rol_6mNIPtAC2wBSBD7S", - "name": "read_osnly", - "description": "Readz Only" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/branding/phone/providers", - "body": "", - "status": 200, - "response": { - "providers": [ - { - "id": "pro_mY3L5BP6iVUUzpv22opofm", - "tenant": "auth0-deploy-cli-e2e", - "name": "custom", - "channel": "phone", - "disabled": false, - "configuration": { - "delivery_methods": [ - "text" - ] - }, - "credentials": null, - "created_at": "2025-12-09T12:24:00.604Z", - "updated_at": "2025-12-09T12:26:07.171Z" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/branding/phone/providers/pro_mY3L5BP6iVUUzpv22opofm", - "body": { - "name": "custom", - "configuration": { - "delivery_methods": [ - "text" - ] - }, - "disabled": false - }, - "status": 200, - "response": { - "id": "pro_mY3L5BP6iVUUzpv22opofm", - "tenant": "auth0-deploy-cli-e2e", - "name": "custom", - "channel": "phone", - "disabled": false, - "configuration": { - "delivery_methods": [ - "text" - ] - }, - "created_at": "2025-12-09T12:24:00.604Z", - "updated_at": "2025-12-09T12:30:28.218Z" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/self-service-profiles?page=0&per_page=100&include_totals=true", - "body": "", - "status": 200, - "response": { - "self_service_profiles": [ - { - "id": "ssp_f6qt3syGauLKbSgt6GRLim", - "name": "self-service-profile-1", - "description": "test description self-service-profile-1", - "user_attributes": [ - { - "name": "email", - "description": "Email of the User", - "is_optional": false - }, - { - "name": "name", - "description": "Name of the User", - "is_optional": true - } - ], - "allowed_strategies": [ - "google-apps", - "okta" - ], - "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-09T12:26:08.151Z", - "branding": { - "colors": { - "primary": "#19aecc" - } - } - } - ], - "start": 0, - "limit": 100, - "total": 1 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/self-service-profiles/ssp_f6qt3syGauLKbSgt6GRLim/custom-text/en/get-started", - "body": "", - "status": 200, - "response": {}, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/self-service-profiles/ssp_f6qt3syGauLKbSgt6GRLim", - "body": { - "name": "self-service-profile-1", - "allowed_strategies": [ - "google-apps", - "okta" - ], - "branding": { - "colors": { - "primary": "#19aecc" - } - }, - "description": "test description self-service-profile-1", - "user_attributes": [ - { - "name": "email", - "description": "Email of the User", - "is_optional": false - }, - { - "name": "name", - "description": "Name of the User", - "is_optional": true - } - ] - }, - "status": 200, - "response": { - "id": "ssp_f6qt3syGauLKbSgt6GRLim", - "name": "self-service-profile-1", - "description": "test description self-service-profile-1", - "user_attributes": [ - { - "name": "email", - "description": "Email of the User", - "is_optional": false - }, - { - "name": "name", - "description": "Name of the User", - "is_optional": true - } - ], - "allowed_strategies": [ - "google-apps", - "okta" - ], - "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-09T12:30:29.308Z", - "branding": { - "colors": { - "primary": "#19aecc" - } - } - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/branding/phone/templates", - "body": "", - "status": 200, - "response": { - "templates": [ - { - "id": "tem_dL83uTmWn8moGzm8UgAk4Q", - "tenant": "auth0-deploy-cli-e2e", - "channel": "phone", - "type": "blocked_account", - "disabled": false, - "created_at": "2025-12-09T12:22:47.683Z", - "updated_at": "2025-12-09T12:26:08.914Z", - "content": { - "syntax": "liquid", - "body": { - "text": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message.", - "voice": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message." - }, - "from": "0032232323" - } - }, - { - "id": "tem_xqbUSF83fpnRv8r8rqXFDZ", - "tenant": "auth0-deploy-cli-e2e", - "channel": "phone", - "type": "change_password", - "disabled": false, - "created_at": "2025-12-09T12:26:20.243Z", - "updated_at": "2025-12-09T12:26:20.243Z", - "content": { - "syntax": "liquid", - "body": { - "text": "{{ code | escape }} is your password change code for {{ friendly_name | escape }}", - "voice": "Hello. Your password change code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your password change code is {{ pause }} {{ code | escape }}" - } - } - }, - { - "id": "tem_qarYST5TTE5pbMNB5NHZAj", - "tenant": "auth0-deploy-cli-e2e", - "channel": "phone", - "type": "otp_enroll", - "disabled": false, - "created_at": "2025-12-09T12:26:25.327Z", - "updated_at": "2025-12-09T12:26:25.327Z", - "content": { - "syntax": "liquid", - "body": { - "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}. Please enter this code to verify your enrollment.", - "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" - } - } - }, - { - "id": "tem_o4LBTt4NQyX8K4vC9dPafR", - "tenant": "auth0-deploy-cli-e2e", - "channel": "phone", - "type": "otp_verify", - "disabled": false, - "created_at": "2025-12-09T12:26:30.547Z", - "updated_at": "2025-12-09T12:26:30.547Z", - "content": { - "syntax": "liquid", - "body": { - "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}", - "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" - } - } - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/branding/phone/templates/tem_dL83uTmWn8moGzm8UgAk4Q", - "body": { - "content": { - "from": "0032232323", - "body": { - "text": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message.", - "voice": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message." - } - }, - "disabled": false - }, - "status": 200, - "response": { - "id": "tem_dL83uTmWn8moGzm8UgAk4Q", - "tenant": "auth0-deploy-cli-e2e", - "channel": "phone", - "type": "blocked_account", - "disabled": false, - "created_at": "2025-12-09T12:22:47.683Z", - "updated_at": "2025-12-09T12:30:30.019Z", - "content": { - "syntax": "liquid", - "body": { - "text": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message.", - "voice": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message." - }, - "from": "0032232323" - } - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/branding/phone/templates/tem_xqbUSF83fpnRv8r8rqXFDZ", - "body": { - "content": { - "body": { - "text": "{{ code | escape }} is your password change code for {{ friendly_name | escape }}", - "voice": "Hello. Your password change code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your password change code is {{ pause }} {{ code | escape }}" - } - }, - "disabled": false - }, - "status": 200, - "response": { - "id": "tem_xqbUSF83fpnRv8r8rqXFDZ", - "tenant": "auth0-deploy-cli-e2e", - "channel": "phone", - "type": "change_password", - "disabled": false, - "created_at": "2025-12-09T12:26:20.243Z", - "updated_at": "2025-12-09T12:30:30.034Z", - "content": { - "syntax": "liquid", - "body": { - "text": "{{ code | escape }} is your password change code for {{ friendly_name | escape }}", - "voice": "Hello. Your password change code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your password change code is {{ pause }} {{ code | escape }}" - } - } - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/branding/phone/templates/tem_qarYST5TTE5pbMNB5NHZAj", - "body": { - "content": { - "body": { - "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}. Please enter this code to verify your enrollment.", - "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" - } - }, - "disabled": false - }, - "status": 200, - "response": { - "id": "tem_qarYST5TTE5pbMNB5NHZAj", - "tenant": "auth0-deploy-cli-e2e", - "channel": "phone", - "type": "otp_enroll", - "disabled": false, - "created_at": "2025-12-09T12:26:25.327Z", - "updated_at": "2025-12-09T12:30:30.174Z", - "content": { - "syntax": "liquid", - "body": { - "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}. Please enter this code to verify your enrollment.", - "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" - } - } - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/branding/phone/templates/tem_o4LBTt4NQyX8K4vC9dPafR", - "body": { - "content": { - "body": { - "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}", - "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" - } - }, - "disabled": false - }, - "status": 200, - "response": { - "id": "tem_o4LBTt4NQyX8K4vC9dPafR", - "tenant": "auth0-deploy-cli-e2e", - "channel": "phone", - "type": "otp_verify", - "disabled": false, - "created_at": "2025-12-09T12:26:30.547Z", - "updated_at": "2025-12-09T12:30:30.365Z", - "content": { - "syntax": "liquid", - "body": { - "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}", - "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" - } - } - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/email-templates/welcome_email", - "body": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "enabled": false, - "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600 - }, - "status": 200, - "response": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/email-templates/verify_email", - "body": { - "template": "verify_email", - "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", - "enabled": true, - "from": "", - "subject": "", - "syntax": "liquid", - "urlLifetimeInSeconds": 432000 - }, - "status": 200, - "response": { - "template": "verify_email", - "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", - "from": "", - "subject": "", - "syntax": "liquid", - "urlLifetimeInSeconds": 432000, - "enabled": true - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/branding", - "body": { - "colors": { - "primary": "#F8F8F2", - "page_background": "#222221" - }, - "logo_url": "https://upload.wikimedia.org/wikipedia/commons/0/0d/Grandmas_marathon_finishers.png" - }, - "status": 200, - "response": { - "colors": { - "primary": "#F8F8F2", - "page_background": "#222221" - }, - "logo_url": "https://upload.wikimedia.org/wikipedia/commons/0/0d/Grandmas_marathon_finishers.png" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations?take=50", - "body": "", - "status": 200, - "response": { - "organizations": [ - { - "id": "org_fIRF1it8cTOyf2yS", - "name": "org1", - "display_name": "Organization", - "branding": { - "colors": { - "page_background": "#fff5f5", - "primary": "#57ddff" - } - } - }, - { - "id": "org_hWOYWXtnxIpJ0MX3", - "name": "org2", - "display_name": "Organization2" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", - "body": "", - "status": 200, - "response": { - "total": 10, - "start": 0, - "limit": 100, - "clients": [ - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", - "is_first_party": true, - "oidc_conformant": true, - "sso_disabled": false, - "cross_origin_auth": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "cross_origin_authentication": true, - "allowed_clients": [], - "callbacks": [], - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials", - "implicit", - "authorization_code", - "refresh_token" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", - "callbacks": [], - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "allowed_origins": [], - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "web_origins": [], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso": false, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], - "is_first_party": true, - "name": "All Applications", - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:client_credentials", + "update:client_credentials", + "delete:client_credentials", + "create:client_credentials", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations_summary", + "create:authentication_methods", + "read:authentication_methods", + "update:authentication_methods", + "delete:authentication_methods", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "read:organization_discovery_domains", + "update:organization_discovery_domains", + "create:organization_discovery_domains", + "delete:organization_discovery_domains", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations", + "read:scim_config", + "create:scim_config", + "update:scim_config", + "delete:scim_config", + "create:scim_token", + "read:scim_token", + "delete:scim_token", + "delete:phone_providers", + "create:phone_providers", + "read:phone_providers", + "update:phone_providers", + "delete:phone_templates", + "create:phone_templates", + "read:phone_templates", + "update:phone_templates", + "create:encryption_keys", + "read:encryption_keys", + "update:encryption_keys", + "delete:encryption_keys", + "read:sessions", + "update:sessions", + "delete:sessions", + "read:refresh_tokens", + "delete:refresh_tokens", + "create:self_service_profiles", + "read:self_service_profiles", + "update:self_service_profiles", + "delete:self_service_profiles", + "create:sso_access_tickets", + "delete:sso_access_tickets", + "read:forms", + "update:forms", + "delete:forms", + "create:forms", + "read:flows", + "update:flows", + "delete:flows", + "create:flows", + "read:flows_vault", + "read:flows_vault_connections", + "update:flows_vault_connections", + "delete:flows_vault_connections", + "create:flows_vault_connections", + "read:flows_executions", + "delete:flows_executions", + "read:connections_options", + "update:connections_options", + "read:self_service_profile_custom_texts", + "update:self_service_profile_custom_texts", + "create:network_acls", + "update:network_acls", + "read:network_acls", + "delete:network_acls", + "delete:vdcs_templates", + "read:vdcs_templates", + "create:vdcs_templates", + "update:vdcs_templates", + "create:custom_signing_keys", + "read:custom_signing_keys", + "update:custom_signing_keys", + "delete:custom_signing_keys", + "read:federated_connections_tokens", + "delete:federated_connections_tokens", + "create:user_attribute_profiles", + "read:user_attribute_profiles", + "update:user_attribute_profiles", + "delete:user_attribute_profiles", + "read:event_streams", + "create:event_streams", + "delete:event_streams", + "update:event_streams", + "read:event_deliveries", + "update:event_deliveries", + "create:connection_profiles", + "read:connection_profiles", + "update:connection_profiles", + "delete:connection_profiles", + "read:organization_client_grants", + "create:organization_client_grants", + "delete:organization_client_grants", + "read:security_metrics", + "read:connections_keys", + "update:connections_keys", + "create:connections_keys" ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true + "subject_type": "client" } ] }, @@ -14021,97 +7250,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/enabled_connections?page=0&per_page=50&include_totals=true", - "body": "", - "status": 200, - "response": { - "enabled_connections": [], - "start": 0, - "limit": 0, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/enabled_connections?page=0&per_page=50&include_totals=true", - "body": "", - "status": 200, - "response": { - "enabled_connections": [], - "start": 0, - "limit": 0, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/client-grants?page=0&per_page=50&include_totals=true", - "body": "", - "status": 200, - "response": { - "client_grants": [], - "start": 0, - "limit": 50, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/client-grants?page=0&per_page=50&include_totals=true", - "body": "", - "status": 200, - "response": { - "client_grants": [], - "start": 0, - "limit": 50, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/discovery-domains?take=50", - "body": "", - "status": 200, - "response": { - "domains": [] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/discovery-domains?take=50", - "body": "", - "status": 200, - "response": { - "domains": [] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/roles?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { - "enabled_connections": [], + "roles": [], "start": 0, - "limit": 0, + "limit": 100, "total": 0 }, "rawHeaders": [], @@ -14120,44 +7265,58 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/branding/phone/providers", "body": "", "status": 200, "response": { - "enabled_connections": [], - "start": 0, - "limit": 0, - "total": 0 + "providers": [ + { + "id": "pro_mY3L5BP6iVUUzpv22opofm", + "tenant": "auth0-deploy-cli-e2e", + "name": "custom", + "channel": "phone", + "disabled": false, + "configuration": { + "delivery_methods": [ + "text" + ] + }, + "credentials": null, + "created_at": "2025-12-09T12:24:00.604Z", + "updated_at": "2025-12-11T19:04:05.770Z" + } + ] }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/client-grants?page=0&per_page=50&include_totals=true", - "body": "", - "status": 200, - "response": { - "client_grants": [], - "start": 0, - "limit": 50, - "total": 0 + "method": "PATCH", + "path": "/api/v2/branding/phone/providers/pro_mY3L5BP6iVUUzpv22opofm", + "body": { + "name": "custom", + "configuration": { + "delivery_methods": [ + "text" + ] + }, + "disabled": false }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/client-grants?page=0&per_page=50&include_totals=true", - "body": "", "status": 200, "response": { - "client_grants": [], - "start": 0, - "limit": 50, - "total": 0 + "id": "pro_mY3L5BP6iVUUzpv22opofm", + "tenant": "auth0-deploy-cli-e2e", + "name": "custom", + "channel": "phone", + "disabled": false, + "configuration": { + "delivery_methods": [ + "text" + ] + }, + "created_at": "2025-12-09T12:24:00.604Z", + "updated_at": "2025-12-16T05:15:18.469Z" }, "rawHeaders": [], "responseIsBinary": false @@ -14165,11 +7324,43 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/discovery-domains?take=50", + "path": "/api/v2/self-service-profiles?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { - "domains": [] + "self_service_profiles": [ + { + "id": "ssp_f6qt3syGauLKbSgt6GRLim", + "name": "self-service-profile-1", + "description": "test description self-service-profile-1", + "user_attributes": [ + { + "name": "email", + "description": "Email of the User", + "is_optional": false + }, + { + "name": "name", + "description": "Name of the User", + "is_optional": true + } + ], + "allowed_strategies": [ + "google-apps", + "okta" + ], + "created_at": "2024-11-26T11:58:18.962Z", + "updated_at": "2025-12-11T19:04:06.915Z", + "branding": { + "colors": { + "primary": "#19aecc" + } + } + } + ], + "start": 0, + "limit": 100, + "total": 1 }, "rawHeaders": [], "responseIsBinary": false @@ -14177,161 +7368,70 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/discovery-domains?take=50", + "path": "/api/v2/self-service-profiles/ssp_f6qt3syGauLKbSgt6GRLim/custom-text/en/get-started", "body": "", "status": 200, - "response": { - "domains": [] - }, + "response": {}, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?take=50", - "body": "", - "status": 200, - "response": { - "connections": [ + "method": "PATCH", + "path": "/api/v2/self-service-profiles/ssp_f6qt3syGauLKbSgt6GRLim", + "body": { + "name": "self-service-profile-1", + "allowed_strategies": [ + "google-apps", + "okta" + ], + "branding": { + "colors": { + "primary": "#19aecc" + } + }, + "description": "test description self-service-profile-1", + "user_attributes": [ { - "id": "con_bBSD5AQUW0Q5aLuE", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true - }, - "strategy": "auth0", - "name": "boo-baz-db-connection-test", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "boo-baz-db-connection-test" - ], - "enabled_clients": [ - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" - ] + "name": "email", + "description": "Email of the User", + "is_optional": false }, { - "id": "con_yGZ6rzfkdR6mMBoE", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "google-oauth2" - ], - "enabled_clients": [ - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" - ] + "name": "name", + "description": "Name of the User", + "is_optional": true + } + ] + }, + "status": 200, + "response": { + "id": "ssp_f6qt3syGauLKbSgt6GRLim", + "name": "self-service-profile-1", + "description": "test description self-service-profile-1", + "user_attributes": [ + { + "name": "email", + "description": "Email of the User", + "is_optional": false }, { - "id": "con_CfDqv7jPXpFqETeK", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - ] + "name": "name", + "description": "Name of the User", + "is_optional": true } - ] + ], + "allowed_strategies": [ + "google-apps", + "okta" + ], + "created_at": "2024-11-26T11:58:18.962Z", + "updated_at": "2025-12-16T05:15:20.151Z", + "branding": { + "colors": { + "primary": "#19aecc" + } + } }, "rawHeaders": [], "responseIsBinary": false @@ -14339,380 +7439,412 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", + "path": "/api/v2/branding/phone/templates", "body": "", "status": 200, "response": { - "total": 10, - "start": 0, - "limit": 100, - "clients": [ - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", - "is_first_party": true, - "oidc_conformant": true, - "sso_disabled": false, - "cross_origin_auth": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "cross_origin_authentication": true, - "allowed_clients": [], - "callbacks": [], - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials", - "implicit", - "authorization_code", - "refresh_token" - ], - "custom_login_page_on": true - }, + "templates": [ { + "id": "tem_dL83uTmWn8moGzm8UgAk4Q", "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", - "callbacks": [], - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true + "channel": "phone", + "type": "blocked_account", + "disabled": false, + "created_at": "2025-12-09T12:22:47.683Z", + "updated_at": "2025-12-09T12:30:30.019Z", + "content": { + "syntax": "liquid", + "body": { + "text": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message.", + "voice": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message." + }, + "from": "0032232323" + } }, { + "id": "tem_xqbUSF83fpnRv8r8rqXFDZ", "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false + "channel": "phone", + "type": "change_password", + "disabled": false, + "created_at": "2025-12-09T12:26:20.243Z", + "updated_at": "2025-12-09T12:30:30.034Z", + "content": { + "syntax": "liquid", + "body": { + "text": "{{ code | escape }} is your password change code for {{ friendly_name | escape }}", + "voice": "Hello. Your password change code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your password change code is {{ pause }} {{ code | escape }}" } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" + } + }, + { + "id": "tem_qarYST5TTE5pbMNB5NHZAj", + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "otp_enroll", + "disabled": false, + "created_at": "2025-12-09T12:26:25.327Z", + "updated_at": "2025-12-09T12:30:30.174Z", + "content": { + "syntax": "liquid", + "body": { + "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}. Please enter this code to verify your enrollment.", + "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" } - ], - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true + } }, { + "id": "tem_o4LBTt4NQyX8K4vC9dPafR", "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" + "channel": "phone", + "type": "otp_verify", + "disabled": false, + "created_at": "2025-12-09T12:26:30.547Z", + "updated_at": "2025-12-09T12:30:30.365Z", + "content": { + "syntax": "liquid", + "body": { + "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}", + "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" } - ], - "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true + } + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/branding/phone/templates/tem_dL83uTmWn8moGzm8UgAk4Q", + "body": { + "content": { + "from": "0032232323", + "body": { + "text": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message.", + "voice": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message." + } + }, + "disabled": false + }, + "status": 200, + "response": { + "id": "tem_dL83uTmWn8moGzm8UgAk4Q", + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "blocked_account", + "disabled": false, + "created_at": "2025-12-09T12:22:47.683Z", + "updated_at": "2025-12-16T05:15:21.194Z", + "content": { + "syntax": "liquid", + "body": { + "text": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message.", + "voice": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message." }, + "from": "0032232323" + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/branding/phone/templates/tem_xqbUSF83fpnRv8r8rqXFDZ", + "body": { + "content": { + "body": { + "text": "{{ code | escape }} is your password change code for {{ friendly_name | escape }}", + "voice": "Hello. Your password change code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your password change code is {{ pause }} {{ code | escape }}" + } + }, + "disabled": false + }, + "status": 200, + "response": { + "id": "tem_xqbUSF83fpnRv8r8rqXFDZ", + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "change_password", + "disabled": false, + "created_at": "2025-12-09T12:26:20.243Z", + "updated_at": "2025-12-16T05:15:21.476Z", + "content": { + "syntax": "liquid", + "body": { + "text": "{{ code | escape }} is your password change code for {{ friendly_name | escape }}", + "voice": "Hello. Your password change code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your password change code is {{ pause }} {{ code | escape }}" + } + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/branding/phone/templates/tem_qarYST5TTE5pbMNB5NHZAj", + "body": { + "content": { + "body": { + "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}. Please enter this code to verify your enrollment.", + "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" + } + }, + "disabled": false + }, + "status": 200, + "response": { + "id": "tem_qarYST5TTE5pbMNB5NHZAj", + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "otp_enroll", + "disabled": false, + "created_at": "2025-12-09T12:26:25.327Z", + "updated_at": "2025-12-16T05:15:21.567Z", + "content": { + "syntax": "liquid", + "body": { + "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}. Please enter this code to verify your enrollment.", + "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" + } + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/branding/phone/templates/tem_o4LBTt4NQyX8K4vC9dPafR", + "body": { + "content": { + "body": { + "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}", + "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" + } + }, + "disabled": false + }, + "status": 200, + "response": { + "id": "tem_o4LBTt4NQyX8K4vC9dPafR", + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "otp_verify", + "disabled": false, + "created_at": "2025-12-09T12:26:30.547Z", + "updated_at": "2025-12-16T05:15:21.814Z", + "content": { + "syntax": "liquid", + "body": { + "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}", + "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" + } + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/actions/actions?page=0&per_page=100", + "body": "", + "status": 200, + "response": { + "actions": [ { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ + "id": "40d899f3-a209-42a2-a3ed-39e764dcbc33", + "name": "Custom Phone Provider", + "supported_triggers": [ { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" + "id": "custom-phone-provider", + "version": "v1" } ], - "allowed_origins": [], - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "web_origins": [], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" + "created_at": "2025-12-11T11:30:13.629492200Z", + "updated_at": "2025-12-16T05:15:01.577210494Z", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "dependencies": [], + "runtime": "node22", + "status": "built", + "secrets": [], + "current_version": { + "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "runtime": "node22", + "status": "BUILT", + "number": 5, + "build_time": "2025-12-16T05:15:03.730905338Z", + "created_at": "2025-12-16T05:15:03.656132145Z", + "updated_at": "2025-12-16T05:15:03.732003986Z" }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false + "deployed_version": { + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "dependencies": [], + "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", + "deployed": true, + "number": 5, + "built_at": "2025-12-16T05:15:03.730905338Z", + "secrets": [], + "status": "built", + "created_at": "2025-12-16T05:15:03.656132145Z", + "updated_at": "2025-12-16T05:15:03.732003986Z", + "runtime": "node22", + "supported_triggers": [ + { + "id": "custom-phone-provider", + "version": "v1" + } + ] }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, + "all_changes_deployed": true + } + ], + "total": 1, + "per_page": 100 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/token-exchange-profiles?take=50", + "body": "", + "status": 403, + "response": { + "statusCode": 403, + "error": "Forbidden", + "message": "Insufficient scope, expected any of: read:token_exchange_profiles", + "errorCode": "insufficient_scope" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/email-templates/welcome_email", + "body": { + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "enabled": false, + "from": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", + "syntax": "liquid", + "urlLifetimeInSeconds": 3600 + }, + "status": 200, + "response": { + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "from": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", + "syntax": "liquid", + "urlLifetimeInSeconds": 3600, + "enabled": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/email-templates/verify_email", + "body": { + "template": "verify_email", + "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", + "enabled": true, + "from": "", + "subject": "", + "syntax": "liquid", + "urlLifetimeInSeconds": 432000 + }, + "status": 200, + "response": { + "template": "verify_email", + "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", + "from": "", + "subject": "", + "syntax": "liquid", + "urlLifetimeInSeconds": 432000, + "enabled": true + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/branding", + "body": { + "colors": { + "primary": "#F8F8F2", + "page_background": "#222221" + }, + "logo_url": "https://upload.wikimedia.org/wikipedia/commons/0/0d/Grandmas_marathon_finishers.png" + }, + "status": 200, + "response": { + "colors": { + "primary": "#F8F8F2", + "page_background": "#222221" + }, + "logo_url": "https://upload.wikimedia.org/wikipedia/commons/0/0d/Grandmas_marathon_finishers.png" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations?take=50", + "body": "", + "status": 200, + "response": { + "organizations": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "total": 3, + "start": 0, + "limit": 100, + "clients": [ { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Deploy CLI", + "is_first_party": true, + "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "sso": false, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "cross_origin_authentication": true, "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, + "callbacks": [], "native_social_login": { "apple": { "enabled": false @@ -14721,18 +7853,6 @@ "enabled": false } }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -14740,7 +7860,7 @@ "subject": "deprecated" } ], - "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14749,44 +7869,32 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", + "client_credentials", "implicit", + "authorization_code", "refresh_token" ], - "web_origins": [ - "http://localhost:3000" - ], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], + "name": "Default App", "callbacks": [], - "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, "sso_disabled": false, @@ -14798,7 +7906,7 @@ "subject": "deprecated" } ], - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14806,10 +7914,10 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -14823,323 +7931,253 @@ "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/client-grants?take=50", - "body": "", - "status": 200, - "response": { - "client_grants": [ - { - "id": "cgr_JYmQHwQEXGDCc53P", - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" ], - "subject_type": "client" - }, + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections?take=50", + "body": "", + "status": 200, + "response": { + "connections": [ { - "id": "cgr_ReJeayDzA8FTvFPY", - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" + "id": "con_4jeiJ5EmqMspBjmK", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true + }, + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "Username-Password-Authentication" + ], + "enabled_clients": [ + "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + ] + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "total": 3, + "start": 0, + "limit": 100, + "clients": [ + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Deploy CLI", + "is_first_party": true, + "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "cross_origin_authentication": true, + "allowed_clients": [], + "callbacks": [], + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "subject_type": "client" + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials", + "implicit", + "authorization_code", + "refresh_token" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Default App", + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": true, + "callbacks": [], + "is_first_party": true, + "name": "All Applications", + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" + ], + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/client-grants?take=50", + "body": "", + "status": 200, + "response": { + "client_grants": [ { "id": "cgr_pbwejzhwoujrsNE8", "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", @@ -15380,248 +8418,13 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3", - "body": { - "display_name": "Organization2" - }, - "status": 200, - "response": { - "id": "org_hWOYWXtnxIpJ0MX3", - "display_name": "Organization2", - "name": "org2" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS", - "body": { - "branding": { - "colors": { - "page_background": "#fff5f5", - "primary": "#57ddff" - } - }, - "display_name": "Organization" - }, - "status": 200, - "response": { - "branding": { - "colors": { - "page_background": "#fff5f5", - "primary": "#57ddff" - } - }, - "id": "org_fIRF1it8cTOyf2yS", - "display_name": "Organization", - "name": "org1" - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", "path": "/api/v2/log-streams", "body": "", "status": 200, - "response": [ - { - "id": "lst_0000000000025431", - "name": "Suspended DD Log Stream", - "type": "datadog", - "status": "active", - "sink": { - "datadogApiKey": "##LOGSTREAMS_DATADOG_SECRET##", - "datadogRegion": "us" - }, - "isPriority": false - }, - { - "id": "lst_0000000000025432", - "name": "Amazon EventBridge", - "type": "eventbridge", - "status": "active", - "sink": { - "awsAccountId": "123456789012", - "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-84b807b2-8a87-4d4b-87eb-ff1b56370b3a/auth0.logs" - }, - "filters": [ - { - "type": "category", - "name": "auth.login.success" - }, - { - "type": "category", - "name": "auth.login.notification" - }, - { - "type": "category", - "name": "auth.login.fail" - }, - { - "type": "category", - "name": "auth.signup.success" - }, - { - "type": "category", - "name": "auth.logout.success" - }, - { - "type": "category", - "name": "auth.logout.fail" - }, - { - "type": "category", - "name": "auth.silent_auth.fail" - }, - { - "type": "category", - "name": "auth.silent_auth.success" - }, - { - "type": "category", - "name": "auth.token_exchange.fail" - } - ], - "isPriority": false - } - ], - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/log-streams/lst_0000000000025432", - "body": { - "name": "Amazon EventBridge", - "filters": [ - { - "type": "category", - "name": "auth.login.success" - }, - { - "type": "category", - "name": "auth.login.notification" - }, - { - "type": "category", - "name": "auth.login.fail" - }, - { - "type": "category", - "name": "auth.signup.success" - }, - { - "type": "category", - "name": "auth.logout.success" - }, - { - "type": "category", - "name": "auth.logout.fail" - }, - { - "type": "category", - "name": "auth.silent_auth.fail" - }, - { - "type": "category", - "name": "auth.silent_auth.success" - }, - { - "type": "category", - "name": "auth.token_exchange.fail" - } - ], - "isPriority": false, - "status": "active" - }, - "status": 200, - "response": { - "id": "lst_0000000000025432", - "name": "Amazon EventBridge", - "type": "eventbridge", - "status": "active", - "sink": { - "awsAccountId": "123456789012", - "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-84b807b2-8a87-4d4b-87eb-ff1b56370b3a/auth0.logs" - }, - "filters": [ - { - "type": "category", - "name": "auth.login.success" - }, - { - "type": "category", - "name": "auth.login.notification" - }, - { - "type": "category", - "name": "auth.login.fail" - }, - { - "type": "category", - "name": "auth.signup.success" - }, - { - "type": "category", - "name": "auth.logout.success" - }, - { - "type": "category", - "name": "auth.logout.fail" - }, - { - "type": "category", - "name": "auth.silent_auth.fail" - }, - { - "type": "category", - "name": "auth.silent_auth.success" - }, - { - "type": "category", - "name": "auth.token_exchange.fail" - } - ], - "isPriority": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/log-streams/lst_0000000000025431", - "body": { - "name": "Suspended DD Log Stream", - "isPriority": false, - "sink": { - "datadogApiKey": "##LOGSTREAMS_DATADOG_SECRET##", - "datadogRegion": "us" - }, - "status": "active" - }, - "status": 200, - "response": { - "id": "lst_0000000000025431", - "name": "Suspended DD Log Stream", - "type": "datadog", - "status": "active", - "sink": { - "datadogApiKey": "##LOGSTREAMS_DATADOG_SECRET##", - "datadogRegion": "us" - }, - "isPriority": false - }, + "response": [], "rawHeaders": [], "responseIsBinary": false }, @@ -15643,12 +8446,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { "limit": 50, - "start": 0, + "start": 50, "total": 0, "connections": [] }, @@ -15674,10 +8477,10 @@ "response": { "bindings": [ { - "id": "0c7814f9-5cbb-47bc-a868-cac7b38e7225", + "id": "d885dc2e-8002-4692-ba48-e70d9325fe78", "trigger_id": "custom-phone-provider", "action": { - "id": "50d86033-6bc2-4ceb-8991-d14c85d2e304", + "id": "40d899f3-a209-42a2-a3ed-39e764dcbc33", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -15685,29 +8488,29 @@ "version": "v1" } ], - "created_at": "2025-12-09T12:23:14.388072786Z", - "updated_at": "2025-12-09T12:30:12.225370374Z", + "created_at": "2025-12-11T11:30:13.629492200Z", + "updated_at": "2025-12-16T05:15:01.571703559Z", "current_version": { - "id": "23bfff1b-d5bb-4f29-bcd5-d5a8779a6843", + "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "runtime": "node22", "status": "BUILT", - "number": 3, - "build_time": "2025-12-09T12:30:13.066221969Z", - "created_at": "2025-12-09T12:30:12.977011820Z", - "updated_at": "2025-12-09T12:30:13.067900742Z" + "number": 5, + "build_time": "2025-12-16T05:15:03.730905338Z", + "created_at": "2025-12-16T05:15:03.656132145Z", + "updated_at": "2025-12-16T05:15:03.732003986Z" }, "deployed_version": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "23bfff1b-d5bb-4f29-bcd5-d5a8779a6843", + "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", "deployed": true, - "number": 3, - "built_at": "2025-12-09T12:30:13.066221969Z", + "number": 5, + "built_at": "2025-12-16T05:15:03.730905338Z", "secrets": [], "status": "built", - "created_at": "2025-12-09T12:30:12.977011820Z", - "updated_at": "2025-12-09T12:30:13.067900742Z", + "created_at": "2025-12-16T05:15:03.656132145Z", + "updated_at": "2025-12-16T05:15:03.732003986Z", "runtime": "node22", "supported_triggers": [ { @@ -15718,8 +8521,8 @@ }, "all_changes_deployed": false }, - "created_at": "2025-12-09T12:30:40.877571889Z", - "updated_at": "2025-12-09T12:30:40.877571889Z", + "created_at": "2025-12-16T05:15:29.671498879Z", + "updated_at": "2025-12-16T05:15:29.671498879Z", "display_name": "Custom Phone Provider" } ] @@ -15745,12 +8548,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { "limit": 50, - "start": 0, + "start": 50, "total": 0, "connections": [] }, @@ -15760,14 +8563,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { - "limit": 50, + "limit": 100, "start": 0, "total": 0, - "connections": [] + "flows": [] }, "rawHeaders": [], "responseIsBinary": false @@ -15775,14 +8578,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "limit": 100, + "limit": 50, "start": 0, "total": 0, - "flows": [] + "connections": [] }, "rawHeaders": [], "responseIsBinary": false @@ -15790,12 +8593,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { "limit": 50, - "start": 0, + "start": 50, "total": 0, "connections": [] }, @@ -15833,7 +8636,7 @@ "name": "Blank-form", "flow_count": 0, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-05T14:24:57.289Z" + "updated_at": "2025-12-11T19:04:15.095Z" } ] }, @@ -15919,7 +8722,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-05T14:24:57.289Z" + "updated_at": "2025-12-11T19:04:15.095Z" }, "rawHeaders": [], "responseIsBinary": false @@ -16044,7 +8847,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-09T12:30:43.698Z" + "updated_at": "2025-12-16T05:15:34.906Z" }, "rawHeaders": [], "responseIsBinary": false diff --git a/test/e2e/recordings/should-dump-without-throwing-an-error.json b/test/e2e/recordings/should-dump-without-throwing-an-error.json index de506185e..7a4409b14 100644 --- a/test/e2e/recordings/should-dump-without-throwing-an-error.json +++ b/test/e2e/recordings/should-dump-without-throwing-an-error.json @@ -1089,6 +1089,22 @@ "value": "delete:organization_client_grants", "description": "Delete Organization Client Grants" }, + { + "value": "create:token_exchange_profiles", + "description": "Create Token Exchange Profile" + }, + { + "value": "read:token_exchange_profiles", + "description": "Read Token Exchange Profiles" + }, + { + "value": "update:token_exchange_profiles", + "description": "Update Token Exchange Profile" + }, + { + "value": "delete:token_exchange_profiles", + "description": "Delete Token Exchange Profile" + }, { "value": "read:security_metrics", "description": "Read Security Metrics" @@ -1120,7 +1136,7 @@ "body": "", "status": 200, "response": { - "total": 9, + "total": 2, "start": 0, "limit": 100, "clients": [ @@ -1206,7 +1222,7 @@ "subject": "deprecated" } ], - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1221,375 +1237,154 @@ "client_credentials" ], "custom_login_page_on": true - }, + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections?take=50&strategy=auth0", + "body": "", + "status": 200, + "response": { + "connections": [ { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false + "id": "con_4jeiJ5EmqMspBjmK", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true }, - "facebook": { - "enabled": false - } + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "authentication": { + "active": true }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false + "connected_accounts": { + "active": false }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" + "realms": [ + "Username-Password-Authentication" ], - "custom_login_page_on": true + "enabled_clients": [ + "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + ] + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK/clients?take=50", + "body": "", + "status": 200, + "response": { + "clients": [ + { + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn" }, { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK/clients?take=50", + "body": "", + "status": 200, + "response": { + "clients": [ + { + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn" }, { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections?take=50", + "body": "", + "status": 200, + "response": { + "connections": [ + { + "id": "con_4jeiJ5EmqMspBjmK", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true }, - "facebook": { - "enabled": false - } + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "authentication": { + "active": true }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "allowed_origins": [], - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false + "connected_accounts": { + "active": false }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" + "realms": [ + "Username-Password-Authentication" ], - "web_origins": [], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso": false, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true + "enabled_clients": [ + "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + ] } ] }, @@ -1599,394 +1394,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?take=50&strategy=auth0", - "body": "", - "status": 200, - "response": { - "connections": [ - { - "id": "con_bBSD5AQUW0Q5aLuE", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true - }, - "strategy": "auth0", - "name": "boo-baz-db-connection-test", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "boo-baz-db-connection-test" - ], - "enabled_clients": [ - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" - ] - }, - { - "id": "con_CfDqv7jPXpFqETeK", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ - { - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" - }, - { - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ - { - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" - }, - { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_bBSD5AQUW0Q5aLuE/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ - { - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" - }, - { - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_CfDqv7jPXpFqETeK/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ - { - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX" - }, - { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?take=50", - "body": "", - "status": 200, - "response": { - "connections": [ - { - "id": "con_bBSD5AQUW0Q5aLuE", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "import_mode": false, - "customScripts": { - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" - }, - "disable_signup": false, - "passwordPolicy": "low", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "password_history": { - "size": 5, - "enable": false - }, - "strategy_version": 2, - "requires_username": true, - "password_dictionary": { - "enable": true, - "dictionary": [] - }, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true, - "password_no_personal_info": { - "enable": true - }, - "password_complexity_options": { - "min_length": 8 - }, - "enabledDatabaseCustomization": true - }, - "strategy": "auth0", - "name": "boo-baz-db-connection-test", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "boo-baz-db-connection-test" - ], - "enabled_clients": [ - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB" - ] - }, - { - "id": "con_yGZ6rzfkdR6mMBoE", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "google-oauth2" - ], - "enabled_clients": [ - "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", - "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" - ] - }, - { - "id": "con_CfDqv7jPXpFqETeK", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ - { - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" - }, - { - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_yGZ6rzfkdR6mMBoE/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ - { - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa" - }, - { - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/tenants/settings", + "path": "/api/v2/tenants/settings", "body": "", "status": 200, "response": { @@ -2106,7 +1514,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/mfa_oob_code", + "path": "/api/v2/email-templates/reset_email", "body": "", "status": 404, "response": { @@ -2136,7 +1544,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/blocked_account", + "path": "/api/v2/email-templates/enrollment_email", "body": "", "status": 404, "response": { @@ -2151,108 +1559,18 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/user_invitation", + "path": "/api/v2/email-templates/welcome_email", "body": "", - "status": 404, + "status": 200, "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/email-templates/enrollment_email", - "body": "", - "status": 404, - "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/email-templates/welcome_email", - "body": "", - "status": 200, - "response": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/email-templates/change_password", - "body": "", - "status": 404, - "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/email-templates/async_approval", - "body": "", - "status": 404, - "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/email-templates/password_reset", - "body": "", - "status": 404, - "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/email-templates/reset_email", - "body": "", - "status": 404, - "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "from": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", + "syntax": "liquid", + "urlLifetimeInSeconds": 3600, + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -2264,298 +1582,112 @@ "body": "", "status": 404, "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/client-grants?take=50", - "body": "", - "status": 200, - "response": { - "client_grants": [ - { - "id": "cgr_JYmQHwQEXGDCc53P", - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" - ], - "subject_type": "client" - }, - { - "id": "cgr_ReJeayDzA8FTvFPY", - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" - ], - "subject_type": "client" - }, + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/email-templates/blocked_account", + "body": "", + "status": 404, + "response": { + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/email-templates/mfa_oob_code", + "body": "", + "status": 404, + "response": { + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/email-templates/user_invitation", + "body": "", + "status": 404, + "response": { + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/email-templates/change_password", + "body": "", + "status": 404, + "response": { + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/email-templates/password_reset", + "body": "", + "status": 404, + "response": { + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/email-templates/async_approval", + "body": "", + "status": 404, + "response": { + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/client-grants?take=50", + "body": "", + "status": 200, + "response": { + "client_grants": [ { "id": "cgr_pbwejzhwoujrsNE8", "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", @@ -2778,174 +1910,20 @@ "read:event_deliveries", "update:event_deliveries", "create:connection_profiles", - "read:connection_profiles", - "update:connection_profiles", - "delete:connection_profiles", - "read:organization_client_grants", - "create:organization_client_grants", - "delete:organization_client_grants", - "read:security_metrics", - "read:connections_keys", - "update:connections_keys", - "create:connections_keys" - ], - "subject_type": "client" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/guardian/factors", - "body": "", - "status": 200, - "response": [ - { - "name": "sms", - "enabled": false, - "trial_expired": false - }, - { - "name": "push-notification", - "enabled": false, - "trial_expired": false - }, - { - "name": "otp", - "enabled": false, - "trial_expired": false - }, - { - "name": "email", - "enabled": false, - "trial_expired": false - }, - { - "name": "duo", - "enabled": false, - "trial_expired": false - }, - { - "name": "webauthn-roaming", - "enabled": false, - "trial_expired": false - }, - { - "name": "webauthn-platform", - "enabled": false, - "trial_expired": false - }, - { - "name": "recovery-code", - "enabled": false, - "trial_expired": false - } - ], - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/guardian/factors/sms/providers/twilio", - "body": "", - "status": 200, - "response": {}, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/guardian/factors/push-notification/providers/sns", - "body": "", - "status": 200, - "response": {}, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/guardian/factors/sms/templates", - "body": "", - "status": 200, - "response": { - "enrollment_message": "enroll foo", - "verification_message": "verify foo" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/guardian/policies", - "body": "", - "status": 200, - "response": [], - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/guardian/factors/phone/selected-provider", - "body": "", - "status": 200, - "response": { - "provider": "auth0" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/guardian/factors/phone/message-types", - "body": "", - "status": 200, - "response": { - "message_types": [] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "roles": [ - { - "id": "rol_EH7ASyHIXKqKPc4X", - "name": "Admin", - "description": "Can read and write things" - }, - { - "id": "rol_WHMW5tI8GYuTShEL", - "name": "Reader", - "description": "Can only read things" - }, - { - "id": "rol_dkoJYFPEbm4fBQUa", - "name": "read_only", - "description": "Read Only" - }, - { - "id": "rol_6mNIPtAC2wBSBD7S", - "name": "read_osnly", - "description": "Readz Only" + "read:connection_profiles", + "update:connection_profiles", + "delete:connection_profiles", + "read:organization_client_grants", + "create:organization_client_grants", + "delete:organization_client_grants", + "read:security_metrics", + "read:connections_keys", + "update:connections_keys", + "create:connections_keys" + ], + "subject_type": "client" } - ], - "start": 0, - "limit": 100, - "total": 4 + ] }, "rawHeaders": [], "responseIsBinary": false @@ -2953,59 +1931,83 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/guardian/factors", "body": "", "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, + "response": [ + { + "name": "sms", + "enabled": false, + "trial_expired": false + }, + { + "name": "push-notification", + "enabled": false, + "trial_expired": false + }, + { + "name": "otp", + "enabled": false, + "trial_expired": false + }, + { + "name": "email", + "enabled": false, + "trial_expired": false + }, + { + "name": "duo", + "enabled": false, + "trial_expired": false + }, + { + "name": "webauthn-roaming", + "enabled": false, + "trial_expired": false + }, + { + "name": "webauthn-platform", + "enabled": false, + "trial_expired": false + }, + { + "name": "recovery-code", + "enabled": false, + "trial_expired": false + } + ], "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_EH7ASyHIXKqKPc4X/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/guardian/factors/sms/providers/twilio", "body": "", "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, + "response": {}, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/guardian/factors/push-notification/providers/sns", "body": "", "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, + "response": {}, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_WHMW5tI8GYuTShEL/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/guardian/factors/sms/templates", "body": "", "status": 200, "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 + "enrollment_message": "enroll foo", + "verification_message": "verify foo" }, "rawHeaders": [], "responseIsBinary": false @@ -3013,29 +2015,21 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/guardian/policies", "body": "", "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, + "response": [], "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_dkoJYFPEbm4fBQUa/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/guardian/factors/phone/selected-provider", "body": "", "status": 200, "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 + "provider": "auth0" }, "rawHeaders": [], "responseIsBinary": false @@ -3043,14 +2037,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/guardian/factors/phone/message-types", "body": "", "status": 200, "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 + "message_types": [] }, "rawHeaders": [], "responseIsBinary": false @@ -3058,11 +2049,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_6mNIPtAC2wBSBD7S/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { - "permissions": [], + "roles": [], "start": 0, "limit": 100, "total": 0 @@ -3103,7 +2094,23 @@ "body": "", "status": 200, "response": { - "providers": [] + "providers": [ + { + "id": "pro_mY3L5BP6iVUUzpv22opofm", + "tenant": "auth0-deploy-cli-e2e", + "name": "custom", + "channel": "phone", + "disabled": false, + "configuration": { + "delivery_methods": [ + "text" + ] + }, + "credentials": null, + "created_at": "2025-12-09T12:24:00.604Z", + "updated_at": "2025-12-11T19:04:05.770Z" + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -3117,67 +2124,68 @@ "response": { "templates": [ { + "id": "tem_dL83uTmWn8moGzm8UgAk4Q", "tenant": "auth0-deploy-cli-e2e", "channel": "phone", "type": "blocked_account", "disabled": false, - "created_at": "2025-12-09T12:15:10.084Z", - "updated_at": "2025-12-09T12:15:10.084Z", + "created_at": "2025-12-09T12:22:47.683Z", + "updated_at": "2025-12-09T12:30:30.019Z", "content": { "syntax": "liquid", "body": { "text": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message.", "voice": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message." }, - "from": "" + "from": "0032232323" } }, { + "id": "tem_xqbUSF83fpnRv8r8rqXFDZ", "tenant": "auth0-deploy-cli-e2e", "channel": "phone", "type": "change_password", "disabled": false, - "created_at": "2025-12-09T12:15:10.084Z", - "updated_at": "2025-12-09T12:15:10.084Z", + "created_at": "2025-12-09T12:26:20.243Z", + "updated_at": "2025-12-09T12:30:30.034Z", "content": { "syntax": "liquid", "body": { "text": "{{ code | escape }} is your password change code for {{ friendly_name | escape }}", "voice": "Hello. Your password change code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your password change code is {{ pause }} {{ code | escape }}" - }, - "from": "" + } } }, { + "id": "tem_qarYST5TTE5pbMNB5NHZAj", "tenant": "auth0-deploy-cli-e2e", "channel": "phone", "type": "otp_enroll", "disabled": false, - "created_at": "2025-12-09T12:15:10.084Z", - "updated_at": "2025-12-09T12:15:10.084Z", + "created_at": "2025-12-09T12:26:25.327Z", + "updated_at": "2025-12-09T12:30:30.174Z", "content": { "syntax": "liquid", "body": { "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}. Please enter this code to verify your enrollment.", "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" - }, - "from": "" + } } }, { + "id": "tem_o4LBTt4NQyX8K4vC9dPafR", "tenant": "auth0-deploy-cli-e2e", "channel": "phone", "type": "otp_verify", "disabled": false, - "created_at": "2025-12-09T12:15:10.084Z", - "updated_at": "2025-12-09T12:15:10.084Z", + "created_at": "2025-12-09T12:26:30.547Z", + "updated_at": "2025-12-09T12:30:30.365Z", "content": { "syntax": "liquid", "body": { "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}", "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" - }, - "from": "" + } } } ] @@ -3283,7 +2291,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-password/custom-text/en", + "path": "/api/v2/prompts/login-id/custom-text/en", "body": "", "status": 200, "response": {}, @@ -3293,7 +2301,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/custom-text/en", + "path": "/api/v2/prompts/login-password/custom-text/en", "body": "", "status": 200, "response": {}, @@ -3313,7 +2321,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup/custom-text/en", + "path": "/api/v2/prompts/login-email-verification/custom-text/en", "body": "", "status": 200, "response": {}, @@ -3323,7 +2331,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-email-verification/custom-text/en", + "path": "/api/v2/prompts/signup/custom-text/en", "body": "", "status": 200, "response": {}, @@ -3353,7 +2361,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/phone-identifier-challenge/custom-text/en", + "path": "/api/v2/prompts/phone-identifier-enrollment/custom-text/en", "body": "", "status": 200, "response": {}, @@ -3363,7 +2371,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/phone-identifier-enrollment/custom-text/en", + "path": "/api/v2/prompts/phone-identifier-challenge/custom-text/en", "body": "", "status": 200, "response": {}, @@ -3433,7 +2441,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-otp/custom-text/en", + "path": "/api/v2/prompts/mfa-push/custom-text/en", "body": "", "status": 200, "response": {}, @@ -3443,7 +2451,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-push/custom-text/en", + "path": "/api/v2/prompts/mfa-otp/custom-text/en", "body": "", "status": 200, "response": {}, @@ -3513,7 +2521,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/status/custom-text/en", + "path": "/api/v2/prompts/mfa/custom-text/en", "body": "", "status": 200, "response": {}, @@ -3523,7 +2531,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa/custom-text/en", + "path": "/api/v2/prompts/status/custom-text/en", "body": "", "status": 200, "response": {}, @@ -3623,7 +2631,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-password/partials", + "path": "/api/v2/prompts/login/partials", "body": "", "status": 200, "response": {}, @@ -3633,7 +2641,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login/partials", + "path": "/api/v2/prompts/login-id/partials", "body": "", "status": 200, "response": {}, @@ -3643,7 +2651,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/partials", + "path": "/api/v2/prompts/login-password/partials", "body": "", "status": 200, "response": {}, @@ -3699,47 +2707,47 @@ "response": { "actions": [ { - "id": "4273221d-f20e-44e6-aa9d-d45702782e4e", - "name": "My Custom Action", + "id": "40d899f3-a209-42a2-a3ed-39e764dcbc33", + "name": "Custom Phone Provider", "supported_triggers": [ { - "id": "post-login", - "version": "v2" + "id": "custom-phone-provider", + "version": "v1" } ], - "created_at": "2025-12-05T14:18:53.100690661Z", - "updated_at": "2025-12-05T14:24:28.025061142Z", - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "created_at": "2025-12-11T11:30:13.629492200Z", + "updated_at": "2025-12-11T19:03:56.861288470Z", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "runtime": "node18", + "runtime": "node22", "status": "built", "secrets": [], "current_version": { - "id": "f2b70924-49de-4b47-acbc-96602dd5e836", - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "runtime": "node18", + "id": "7c1d4428-7721-40b7-91b0-c17278614787", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "runtime": "node22", "status": "BUILT", - "number": 2, - "build_time": "2025-12-05T14:24:28.911082680Z", - "created_at": "2025-12-05T14:24:28.826233092Z", - "updated_at": "2025-12-05T14:24:28.912158390Z" + "number": 4, + "build_time": "2025-12-11T19:03:57.560767224Z", + "created_at": "2025-12-11T19:03:57.472143Z", + "updated_at": "2025-12-11T19:03:57.562385412Z" }, "deployed_version": { - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "f2b70924-49de-4b47-acbc-96602dd5e836", + "id": "7c1d4428-7721-40b7-91b0-c17278614787", "deployed": true, - "number": 2, - "built_at": "2025-12-05T14:24:28.911082680Z", + "number": 4, + "built_at": "2025-12-11T19:03:57.560767224Z", "secrets": [], "status": "built", - "created_at": "2025-12-05T14:24:28.826233092Z", - "updated_at": "2025-12-05T14:24:28.912158390Z", - "runtime": "node18", + "created_at": "2025-12-11T19:03:57.472143Z", + "updated_at": "2025-12-11T19:03:57.562385412Z", + "runtime": "node22", "supported_triggers": [ { - "id": "post-login", - "version": "v2" + "id": "custom-phone-provider", + "version": "v1" } ] }, @@ -3776,7 +2784,6 @@ "version": "v3", "status": "CURRENT", "runtimes": [ - "node12", "node18-actions", "node22" ], @@ -3807,6 +2814,7 @@ "version": "v2", "status": "CURRENT", "runtimes": [ + "node12", "node18-actions", "node22" ], @@ -3840,22 +2848,12 @@ "binding_policy": "trigger-bound", "compatible_triggers": [] }, - { - "id": "send-phone-message", - "version": "v1", - "status": "DEPRECATED", - "runtimes": [ - "node12" - ], - "default_runtime": "node12", - "binding_policy": "trigger-bound", - "compatible_triggers": [] - }, { "id": "send-phone-message", "version": "v2", "status": "CURRENT", "runtimes": [ + "node12", "node18-actions", "node22" ], @@ -3913,106 +2911,39 @@ }, { "id": "custom-token-exchange", - "version": "v1", - "status": "CURRENT", - "runtimes": [ - "node18", - "node22" - ], - "default_runtime": "node22", - "binding_policy": "entity-bound", - "compatible_triggers": [] - }, - { - "id": "event-stream", - "version": "v1", - "status": "CURRENT", - "runtimes": [ - "node22" - ], - "default_runtime": "node22", - "binding_policy": "entity-bound", - "compatible_triggers": [] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/actions/triggers/post-login/bindings?page=0&per_page=50", - "body": "", - "status": 200, - "response": { - "bindings": [], - "per_page": 50 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/actions/triggers/credentials-exchange/bindings?page=0&per_page=50", - "body": "", - "status": 200, - "response": { - "bindings": [], - "per_page": 50 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/actions/triggers/pre-user-registration/bindings?page=0&per_page=50", - "body": "", - "status": 200, - "response": { - "bindings": [], - "per_page": 50 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/actions/triggers/post-user-registration/bindings?page=0&per_page=50", - "body": "", - "status": 200, - "response": { - "bindings": [], - "per_page": 50 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/actions/triggers/post-change-password/bindings?page=0&per_page=50", - "body": "", - "status": 200, - "response": { - "bindings": [], - "per_page": 50 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/actions/triggers/send-phone-message/bindings?page=0&per_page=50", - "body": "", - "status": 200, - "response": { - "bindings": [], - "per_page": 50 + "version": "v1", + "status": "CURRENT", + "runtimes": [ + "node18", + "node22" + ], + "default_runtime": "node22", + "binding_policy": "entity-bound", + "compatible_triggers": [] + }, + { + "id": "event-stream", + "version": "v1", + "status": "CURRENT", + "runtimes": [ + "node22" + ], + "default_runtime": "node22", + "binding_policy": "entity-bound", + "compatible_triggers": [] + }, + { + "id": "password-hash-migration", + "version": "v1", + "status": "CURRENT", + "runtimes": [ + "node22" + ], + "default_runtime": "node22", + "binding_policy": "entity-bound", + "compatible_triggers": [] + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -4020,7 +2951,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/password-reset-post-challenge/bindings?page=0&per_page=50", + "path": "/api/v2/actions/triggers/post-login/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { @@ -4033,7 +2964,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/login-post-identifier/bindings?page=0&per_page=50", + "path": "/api/v2/actions/triggers/credentials-exchange/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { @@ -4046,7 +2977,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/custom-phone-provider/bindings?page=0&per_page=50", + "path": "/api/v2/actions/triggers/pre-user-registration/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { @@ -4059,7 +2990,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/custom-email-provider/bindings?page=0&per_page=50", + "path": "/api/v2/actions/triggers/post-user-registration/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { @@ -4072,7 +3003,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/custom-token-exchange/bindings?page=0&per_page=50", + "path": "/api/v2/actions/triggers/post-change-password/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { @@ -4085,7 +3016,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/actions/triggers/event-stream/bindings?page=0&per_page=50", + "path": "/api/v2/actions/triggers/send-phone-message/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { @@ -4098,305 +3029,177 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations?take=50", - "body": "", - "status": 200, - "response": { - "organizations": [ - { - "id": "org_fIRF1it8cTOyf2yS", - "name": "org1", - "display_name": "Organization", - "branding": { - "colors": { - "page_background": "#fff5f5", - "primary": "#57ddff" - } - } - }, - { - "id": "org_hWOYWXtnxIpJ0MX3", - "name": "org2", - "display_name": "Organization2" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", + "path": "/api/v2/actions/triggers/password-reset-post-challenge/bindings?page=0&per_page=50", "body": "", "status": 200, "response": { - "total": 10, - "start": 0, - "limit": 100, - "clients": [ - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", - "is_first_party": true, - "oidc_conformant": true, - "sso_disabled": false, - "cross_origin_auth": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "cross_origin_authentication": true, - "allowed_clients": [], - "callbacks": [], - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials", - "implicit", - "authorization_code", - "refresh_token" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", - "callbacks": [], - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "BKAbUN8rqBV7Wb1If7QC2sVfJixwCkbX", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "feQM5cn65Wc73MmXBAgYLvKdBFe4kr4P", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "c6dXPAiPCc040rCXxdNnn1678f7pwEJ2", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, + "bindings": [], + "per_page": 50 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/actions/triggers/login-post-identifier/bindings?page=0&per_page=50", + "body": "", + "status": 200, + "response": { + "bindings": [], + "per_page": 50 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/actions/triggers/custom-phone-provider/bindings?page=0&per_page=50", + "body": "", + "status": 200, + "response": { + "bindings": [ { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false + "id": "6b2e7f91-0bc4-428d-8ed0-590d245b03eb", + "trigger_id": "custom-phone-provider", + "action": { + "id": "40d899f3-a209-42a2-a3ed-39e764dcbc33", + "name": "Custom Phone Provider", + "supported_triggers": [ + { + "id": "custom-phone-provider", + "version": "v1" + } + ], + "created_at": "2025-12-11T11:30:13.629492200Z", + "updated_at": "2025-12-11T19:03:56.854977710Z", + "current_version": { + "id": "7c1d4428-7721-40b7-91b0-c17278614787", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "runtime": "node22", + "status": "BUILT", + "number": 4, + "build_time": "2025-12-11T19:03:57.560767224Z", + "created_at": "2025-12-11T19:03:57.472143Z", + "updated_at": "2025-12-11T19:03:57.562385412Z" + }, + "deployed_version": { + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "dependencies": [], + "id": "7c1d4428-7721-40b7-91b0-c17278614787", + "deployed": true, + "number": 4, + "built_at": "2025-12-11T19:03:57.560767224Z", + "secrets": [], + "status": "built", + "created_at": "2025-12-11T19:03:57.472143Z", + "updated_at": "2025-12-11T19:03:57.562385412Z", + "runtime": "node22", + "supported_triggers": [ + { + "id": "custom-phone-provider", + "version": "v1" + } + ] }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "allowed_origins": [], - "client_id": "xneAseAKU3kXsVKuSFxuJdHYlJGOTfMB", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false + "all_changes_deployed": false }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "web_origins": [], - "custom_login_page_on": true - }, + "created_at": "2025-12-11T19:04:12.425709969Z", + "updated_at": "2025-12-11T19:04:12.425709969Z", + "display_name": "Custom Phone Provider" + } + ], + "total": 1, + "per_page": 50 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/actions/triggers/custom-email-provider/bindings?page=0&per_page=50", + "body": "", + "status": 200, + "response": { + "bindings": [], + "per_page": 50 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/actions/triggers/custom-token-exchange/bindings?page=0&per_page=50", + "body": "", + "status": 200, + "response": { + "bindings": [], + "per_page": 50 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/actions/triggers/event-stream/bindings?page=0&per_page=50", + "body": "", + "status": 200, + "response": { + "bindings": [], + "per_page": 50 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/actions/triggers/password-hash-migration/bindings?page=0&per_page=50", + "body": "", + "status": 200, + "response": { + "bindings": [], + "per_page": 50 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations?take=50", + "body": "", + "status": 200, + "response": { + "organizations": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "total": 3, + "start": 0, + "limit": 100, + "clients": [ { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", - "cross_origin_auth": false, + "name": "Deploy CLI", "is_first_party": true, "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -4406,40 +3209,9 @@ "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "3ie2KAClpqVPPhY9ip1yJLo2G2ev1LWu", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "cross_origin_authentication": true, "allowed_clients": [], "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, "native_social_login": { "apple": { "enabled": false @@ -4448,19 +3220,6 @@ "enabled": false } }, - "oidc_conformant": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso": false, - "sso_disabled": false, - "cross_origin_authentication": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -4468,7 +3227,7 @@ "subject": "deprecated" } ], - "client_id": "ZGU3Hwdo54Y3TwO1f9n8NTNNJV6Te1Sz", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4478,103 +3237,31 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "3fBUyX06CDDuksAP7TNZKYONbfYDLZMA", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", + "client_credentials", "implicit", + "authorization_code", "refresh_token" ], - "web_origins": [ - "http://localhost:3000" - ], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], + "name": "Default App", "callbacks": [], - "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, "sso_disabled": false, @@ -4586,7 +3273,7 @@ "subject": "deprecated" } ], - "client_id": "XuJD8qCiLHgeKXvUhoIUlpJ9qC1T3Rpa", + "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4594,10 +3281,10 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -4647,167 +3334,22 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/enabled_connections?page=0&per_page=50&include_totals=true", - "body": "", - "status": 200, - "response": { - "enabled_connections": [], - "start": 0, - "limit": 0, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/enabled_connections?page=0&per_page=50&include_totals=true", - "body": "", - "status": 200, - "response": { - "enabled_connections": [], - "start": 0, - "limit": 0, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/client-grants?page=0&per_page=50&include_totals=true", - "body": "", - "status": 200, - "response": { - "client_grants": [], - "start": 0, - "limit": 50, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/client-grants?page=0&per_page=50&include_totals=true", - "body": "", - "status": 200, - "response": { - "client_grants": [], - "start": 0, - "limit": 50, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/discovery-domains?take=50", - "body": "", - "status": 200, - "response": { - "domains": [] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_fIRF1it8cTOyf2yS/discovery-domains?take=50", - "body": "", - "status": 200, - "response": { - "domains": [] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/enabled_connections?page=0&per_page=50&include_totals=true", - "body": "", - "status": 200, - "response": { - "enabled_connections": [], - "start": 0, - "limit": 0, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/enabled_connections?page=0&per_page=50&include_totals=true", - "body": "", - "status": 200, - "response": { - "enabled_connections": [], - "start": 0, - "limit": 0, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/client-grants?page=0&per_page=50&include_totals=true", - "body": "", - "status": 200, - "response": { - "client_grants": [], - "start": 0, - "limit": 50, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/client-grants?page=0&per_page=50&include_totals=true", - "body": "", - "status": 200, - "response": { - "client_grants": [], - "start": 0, - "limit": 50, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/discovery-domains?take=50", - "body": "", - "status": 200, - "response": { - "domains": [] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations/org_hWOYWXtnxIpJ0MX3/discovery-domains?take=50", + "path": "/api/v2/attack-protection/breached-password-detection", "body": "", "status": 200, "response": { - "domains": [] + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard", + "stage": { + "pre-user-registration": { + "shields": [] + }, + "pre-change-password": { + "shields": [] + } + } }, "rawHeaders": [], "responseIsBinary": false @@ -4831,29 +3373,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/attack-protection/breached-password-detection", - "body": "", - "status": 200, - "response": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard", - "stage": { - "pre-user-registration": { - "shields": [] - }, - "pre-change-password": { - "shields": [] - } - } - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -4875,29 +3394,16 @@ "pre-user-registration": { "max_attempts": 50, "rate": 1200 + }, + "pre-custom-token-exchange": { + "max_attempts": 10, + "rate": 600000 } } }, "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/attack-protection/bot-detection", - "body": "", - "status": 200, - "response": { - "challenge_password_policy": "never", - "challenge_passwordless_policy": "never", - "challenge_password_reset_policy": "never", - "allowlist": [], - "bot_detection_level": "medium", - "monitoring_mode_enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -4933,75 +3439,30 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/attack-protection/bot-detection", + "body": "", + "status": 200, + "response": { + "challenge_password_policy": "never", + "challenge_passwordless_policy": "never", + "challenge_password_reset_policy": "never", + "allowlist": [], + "bot_detection_level": "medium", + "monitoring_mode_enabled": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", "path": "/api/v2/log-streams", "body": "", "status": 200, - "response": [ - { - "id": "lst_0000000000025431", - "name": "Suspended DD Log Stream", - "type": "datadog", - "status": "active", - "sink": { - "datadogApiKey": "##LOGSTREAMS_DATADOG_SECRET##", - "datadogRegion": "us" - }, - "isPriority": false - }, - { - "id": "lst_0000000000025432", - "name": "Amazon EventBridge", - "type": "eventbridge", - "status": "active", - "sink": { - "awsAccountId": "123456789012", - "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-84b807b2-8a87-4d4b-87eb-ff1b56370b3a/auth0.logs" - }, - "filters": [ - { - "type": "category", - "name": "auth.login.success" - }, - { - "type": "category", - "name": "auth.login.notification" - }, - { - "type": "category", - "name": "auth.login.fail" - }, - { - "type": "category", - "name": "auth.signup.success" - }, - { - "type": "category", - "name": "auth.logout.success" - }, - { - "type": "category", - "name": "auth.logout.fail" - }, - { - "type": "category", - "name": "auth.silent_auth.fail" - }, - { - "type": "category", - "name": "auth.silent_auth.success" - }, - { - "type": "category", - "name": "auth.token_exchange.fail" - } - ], - "isPriority": false - } - ], + "response": [], "rawHeaders": [], "responseIsBinary": false }, @@ -5046,7 +3507,7 @@ "name": "Blank-form", "flow_count": 0, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-05T14:24:57.289Z" + "updated_at": "2025-12-11T19:04:15.095Z" } ] }, @@ -5132,7 +3593,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-05T14:24:57.289Z" + "updated_at": "2025-12-11T19:04:15.095Z" }, "rawHeaders": [], "responseIsBinary": false @@ -5170,12 +3631,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { "limit": 50, - "start": 0, + "start": 50, "total": 0, "connections": [] }, @@ -5200,12 +3661,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { "limit": 50, - "start": 0, + "start": 50, "total": 0, "connections": [] }, @@ -5241,7 +3702,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-05T14:24:44.076Z", + "updated_at": "2025-12-11T19:04:06.915Z", "branding": { "colors": { "primary": "#19aecc" @@ -5293,7 +3754,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-05T14:24:30.497Z", + "updated_at": "2025-12-11T19:03:58.933Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] @@ -5355,5 +3816,20 @@ }, "rawHeaders": [], "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/token-exchange-profiles?take=50", + "body": "", + "status": 403, + "response": { + "statusCode": 403, + "error": "Forbidden", + "message": "Insufficient scope, expected any of: read:token_exchange_profiles", + "errorCode": "insufficient_scope" + }, + "rawHeaders": [], + "responseIsBinary": false } ] \ No newline at end of file diff --git a/test/tools/auth0/handlers/tokenExchangeProfiles.tests.js b/test/tools/auth0/handlers/tokenExchangeProfiles.tests.js new file mode 100644 index 000000000..02548970b --- /dev/null +++ b/test/tools/auth0/handlers/tokenExchangeProfiles.tests.js @@ -0,0 +1,694 @@ +import pageClient from '../../../../src/tools/auth0/client'; + +const { expect } = require('chai'); +const tokenExchangeProfiles = require('../../../../src/tools/auth0/handlers/tokenExchangeProfiles'); +const { mockPagedData } = require('../../../utils'); + +const pool = { + addEachTask: (data) => { + if (data.data && data.data.length) { + data.generator(data.data[0]); + } + return { promise: () => null }; + }, +}; + +describe('#tokenExchangeProfiles handler', () => { + const config = function (key) { + return config.data && config.data[key]; + }; + + config.data = { + AUTH0_CLIENT_ID: 'client_id', + AUTH0_ALLOW_DELETE: true, + }; + + describe('#tokenExchangeProfiles schema', () => { + it('should have valid schema', () => { + expect(tokenExchangeProfiles.schema).to.be.an('object'); + expect(tokenExchangeProfiles.schema.type).to.equal('array'); + expect(tokenExchangeProfiles.schema.items).to.be.an('object'); + expect(tokenExchangeProfiles.schema.items.required).to.include('name'); + expect(tokenExchangeProfiles.schema.items.required).to.include('subject_token_type'); + expect(tokenExchangeProfiles.schema.items.required).to.include('action'); + }); + }); + + describe('#tokenExchangeProfiles validate', () => { + it('should not allow same names', async () => { + const handler = new tokenExchangeProfiles.default({ client: {}, config }); + const stageFn = Object.getPrototypeOf(handler).validate; + const data = [ + { + name: 'CIS token exchange', + subject_token_type: 'https://acme.com/cis-token', + action: 'my-action', + type: 'custom_authentication', + }, + { + name: 'CIS token exchange', + subject_token_type: 'https://acme.com/other-token', + action: 'my-action', + type: 'custom_authentication', + }, + ]; + + try { + await stageFn.apply(handler, [{ tokenExchangeProfiles: data }]); + } catch (err) { + expect(err).to.be.an('object'); + expect(err.message).to.include('Names must be unique'); + } + }); + + it('should pass validation', async () => { + const handler = new tokenExchangeProfiles.default({ client: {}, config }); + const stageFn = Object.getPrototypeOf(handler).validate; + const data = [ + { + name: 'CIS token exchange', + subject_token_type: 'https://acme.com/cis-token', + action: 'my-action', + type: 'custom_authentication', + }, + ]; + + await stageFn.apply(handler, [{ tokenExchangeProfiles: data }]); + }); + }); + + describe('#tokenExchangeProfiles getType', () => { + it('should get token exchange profiles', async () => { + const auth0 = { + tokenExchangeProfiles: { + list: (params) => + mockPagedData({ ...params, include_totals: true }, 'tokenExchangeProfiles', [ + { + id: 'tep_123', + name: 'CIS token exchange', + subject_token_type: 'https://acme.com/cis-token', + action_id: 'action_123', + type: 'custom_authentication', + created_at: '2024-10-01T16:09:42.725Z', + updated_at: '2024-10-01T16:09:42.725Z', + }, + ]), + }, + actions: { + list: () => + Promise.resolve({ + data: [ + { + id: 'action_123', + name: 'my-action', + supported_triggers: [{ id: 'custom-token-exchange', version: 'v1' }], + }, + ], + }), + }, + pool, + }; + + const handler = new tokenExchangeProfiles.default({ client: pageClient(auth0), config }); + const data = await handler.getType(); + expect(data).to.be.an('array'); + expect(data).to.have.lengthOf(1); + expect(data[0].name).to.equal('CIS token exchange'); + expect(data[0].action).to.equal('my-action'); + expect(data[0].action_id).to.be.undefined; // Should be mapped to action name + }); + + it('should return an empty array for 403 status code', async () => { + const auth0 = { + tokenExchangeProfiles: { + list: () => { + const error = new Error('Feature not enabled'); + error.statusCode = 403; + throw error; + }, + }, + pool, + }; + + const handler = new tokenExchangeProfiles.default({ client: pageClient(auth0), config }); + const data = await handler.getType(); + expect(data).to.deep.equal([]); + }); + + it('should throw error for 404 status code', async () => { + const auth0 = { + tokenExchangeProfiles: { + list: () => { + const error = new Error('Not found'); + error.statusCode = 404; + throw error; + }, + }, + pool, + }; + + const handler = new tokenExchangeProfiles.default({ client: pageClient(auth0), config }); + try { + await handler.getType(); + expect.fail('Should have thrown an error'); + } catch (err) { + expect(err.message).to.equal('Not found'); + expect(err.statusCode).to.equal(404); + } + }); + + it('should throw error for 501 status code', async () => { + const auth0 = { + tokenExchangeProfiles: { + list: () => { + const error = new Error('Feature not implemented'); + error.statusCode = 501; + throw error; + }, + }, + pool, + }; + + const handler = new tokenExchangeProfiles.default({ client: pageClient(auth0), config }); + try { + await handler.getType(); + expect.fail('Should have thrown an error'); + } catch (err) { + expect(err.message).to.equal('Feature not implemented'); + expect(err.statusCode).to.equal(501); + } + }); + + it('should return empty array when profiles list is empty', async () => { + const auth0 = { + tokenExchangeProfiles: { + list: (params) => mockPagedData(params, 'tokenExchangeProfiles', []), + }, + actions: { + list: () => Promise.resolve({ data: [] }), + }, + pool, + }; + + const handler = new tokenExchangeProfiles.default({ client: pageClient(auth0), config }); + const data = await handler.getType(); + expect(data).to.deep.equal([]); + }); + + it('should propagate unexpected API errors', async () => { + const auth0 = { + tokenExchangeProfiles: { + list: () => { + throw new Error('Unexpected API error'); + }, + }, + pool, + }; + + const handler = new tokenExchangeProfiles.default({ client: pageClient(auth0), config }); + try { + await handler.getType(); + expect.fail('Should have thrown an error'); + } catch (err) { + expect(err.message).to.equal('Unexpected API error'); + } + }); + }); + + describe('#tokenExchangeProfiles process', () => { + it('should create token exchange profile', async () => { + const auth0 = { + tokenExchangeProfiles: { + create: function (data) { + (() => expect(this).to.not.be.undefined)(); + expect(data).to.be.an('object'); + expect(data.name).to.equal('CIS token exchange'); + expect(data.subject_token_type).to.equal('https://acme.com/cis-token'); + expect(data.action_id).to.equal('action_123'); // Should be mapped to action_id + return Promise.resolve({ + data: { + ...data, + id: 'tep_123', + created_at: '2024-10-01T16:09:42.725Z', + updated_at: '2024-10-01T16:09:42.725Z', + }, + }); + }, + update: () => Promise.resolve({ data: [] }), + delete: () => Promise.resolve({ data: [] }), + list: (params) => mockPagedData(params, 'tokenExchangeProfiles', []), + }, + actions: { + list: () => + Promise.resolve({ + data: [ + { + id: 'action_123', + name: 'my-action', + supported_triggers: [{ id: 'custom-token-exchange', version: 'v1' }], + }, + ], + }), + }, + pool, + }; + const handler = new tokenExchangeProfiles.default({ client: pageClient(auth0), config }); + const stageFn = Object.getPrototypeOf(handler).processChanges; + await stageFn.apply(handler, [ + { + tokenExchangeProfiles: [ + { + name: 'CIS token exchange', + subject_token_type: 'https://acme.com/cis-token', + action: 'my-action', + type: 'custom_authentication', + }, + ], + }, + ]); + }); + + it('should update token exchange profile', async () => { + const auth0 = { + tokenExchangeProfiles: { + create: () => Promise.resolve({ data: [] }), + update: function (id, data) { + (() => expect(this).to.not.be.undefined)(); + expect(id).to.equal('tep_123'); + expect(data.name).to.equal('Updated token exchange'); + expect(data.subject_token_type).to.equal('https://acme.com/updated-token'); + // Verify that action_id and type are stripped (only name and subject_token_type can be updated) + expect(data.action_id).to.be.undefined; + expect(data.type).to.be.undefined; + return Promise.resolve(); + }, + delete: () => Promise.resolve({ data: [] }), + list: (params) => + mockPagedData({ ...params, include_totals: true }, 'tokenExchangeProfiles', [ + { + id: 'tep_123', + name: 'CIS token exchange', + subject_token_type: 'https://acme.com/cis-token', + action_id: 'action_123', + type: 'custom_authentication', + }, + ]), + }, + actions: { + list: () => + Promise.resolve({ + data: [ + { + id: 'action_123', + name: 'my-action', + supported_triggers: [{ id: 'custom-token-exchange', version: 'v1' }], + }, + ], + }), + }, + pool, + }; + + const handler = new tokenExchangeProfiles.default({ client: pageClient(auth0), config }); + const stageFn = Object.getPrototypeOf(handler).processChanges; + await stageFn.apply(handler, [ + { + tokenExchangeProfiles: [ + { + id: 'tep_123', + name: 'Updated token exchange', + subject_token_type: 'https://acme.com/updated-token', + action: 'my-action', + type: 'custom_authentication', + }, + ], + }, + ]); + }); + + it('should delete token exchange profile', async () => { + const auth0 = { + tokenExchangeProfiles: { + create: () => Promise.resolve({ data: [] }), + update: () => Promise.resolve({ data: [] }), + delete: function (id) { + (() => expect(this).to.not.be.undefined)(); + expect(id).to.equal('tep_123'); + return Promise.resolve(); + }, + list: (params) => + mockPagedData({ ...params, include_totals: true }, 'tokenExchangeProfiles', [ + { + id: 'tep_123', + name: 'CIS token exchange', + subject_token_type: 'https://acme.com/cis-token', + action_id: 'action_123', + type: 'custom_authentication', + }, + ]), + }, + actions: { + list: () => Promise.resolve({ data: [] }), + }, + pool, + }; + + const handler = new tokenExchangeProfiles.default({ client: pageClient(auth0), config }); + const stageFn = Object.getPrototypeOf(handler).processChanges; + await stageFn.apply(handler, [{ tokenExchangeProfiles: [] }]); + }); + + it('should throw error when action is not found during create', async () => { + const auth0 = { + tokenExchangeProfiles: { + create: () => Promise.resolve({ data: [] }), + update: () => Promise.resolve({ data: [] }), + delete: () => Promise.resolve({ data: [] }), + list: (params) => mockPagedData(params, 'tokenExchangeProfiles', []), + }, + actions: { + list: () => + Promise.resolve({ + data: [ + { + id: 'action_123', + name: 'my-action', + supported_triggers: [{ id: 'custom-token-exchange', version: 'v1' }], + }, + ], + }), + }, + pool, + }; + + const handler = new tokenExchangeProfiles.default({ client: pageClient(auth0), config }); + const stageFn = Object.getPrototypeOf(handler).processChanges; + + try { + await stageFn.apply(handler, [ + { + tokenExchangeProfiles: [ + { + name: 'CIS token exchange', + subject_token_type: 'https://acme.com/cis-token', + action: 'non-existent-action', + type: 'custom_authentication', + }, + ], + }, + ]); + expect.fail('Should have thrown an error'); + } catch (err) { + expect(err.message).to.include('non-existent-action'); + expect(err.message).to.include('not found'); + } + }); + + it('should handle multiple profiles with different actions', async () => { + const createdProfiles = []; + const auth0 = { + tokenExchangeProfiles: { + create: function (data) { + (() => expect(this).to.not.be.undefined)(); + createdProfiles.push(data); + return Promise.resolve({ + data: { + ...data, + id: `tep_${createdProfiles.length}`, + created_at: '2024-10-01T16:09:42.725Z', + updated_at: '2024-10-01T16:09:42.725Z', + }, + }); + }, + update: () => Promise.resolve({ data: [] }), + delete: () => Promise.resolve({ data: [] }), + list: (params) => mockPagedData(params, 'tokenExchangeProfiles', []), + }, + actions: { + list: () => + Promise.resolve({ + data: [ + { + id: 'action_123', + name: 'my-action', + supported_triggers: [{ id: 'custom-token-exchange', version: 'v1' }], + }, + { + id: 'action_456', + name: 'partner-action', + supported_triggers: [{ id: 'custom-token-exchange', version: 'v1' }], + }, + ], + }), + }, + pool, + }; + + const handler = new tokenExchangeProfiles.default({ client: pageClient(auth0), config }); + const stageFn = Object.getPrototypeOf(handler).processChanges; + await stageFn.apply(handler, [ + { + tokenExchangeProfiles: [ + { + name: 'CIS token exchange', + subject_token_type: 'https://acme.com/cis-token', + action: 'my-action', + type: 'custom_authentication', + }, + { + name: 'Partner token exchange', + subject_token_type: 'https://partner.com/auth-token', + action: 'partner-action', + type: 'custom_authentication', + }, + ], + }, + ]); + + expect(createdProfiles).to.have.lengthOf(2); + expect(createdProfiles[0].action_id).to.equal('action_123'); + expect(createdProfiles[1].action_id).to.equal('action_456'); + }); + + it('should handle profile with action_id already set', async () => { + const auth0 = { + tokenExchangeProfiles: { + create: function (data) { + (() => expect(this).to.not.be.undefined)(); + // If action_id is already set, it should be preserved + expect(data.action_id).to.equal('action_123'); + expect(data.action).to.be.undefined; + return Promise.resolve({ + data: { + ...data, + id: 'tep_123', + created_at: '2024-10-01T16:09:42.725Z', + updated_at: '2024-10-01T16:09:42.725Z', + }, + }); + }, + update: () => Promise.resolve({ data: [] }), + delete: () => Promise.resolve({ data: [] }), + list: (params) => mockPagedData(params, 'tokenExchangeProfiles', []), + }, + actions: { + list: () => + Promise.resolve({ + data: [ + { + id: 'action_123', + name: 'my-action', + supported_triggers: [{ id: 'custom-token-exchange', version: 'v1' }], + }, + ], + }), + }, + pool, + }; + + const handler = new tokenExchangeProfiles.default({ client: pageClient(auth0), config }); + const stageFn = Object.getPrototypeOf(handler).processChanges; + await stageFn.apply(handler, [ + { + tokenExchangeProfiles: [ + { + name: 'CIS token exchange', + subject_token_type: 'https://acme.com/cis-token', + action_id: 'action_123', + type: 'custom_authentication', + }, + ], + }, + ]); + }); + + it('should not delete when AUTH0_ALLOW_DELETE is false', async () => { + let deleteCalled = false; + const auth0 = { + tokenExchangeProfiles: { + create: () => Promise.resolve({ data: [] }), + update: () => Promise.resolve({ data: [] }), + delete: function () { + deleteCalled = true; + return Promise.resolve(); + }, + list: (params) => + mockPagedData({ ...params, include_totals: true }, 'tokenExchangeProfiles', [ + { + id: 'tep_123', + name: 'CIS token exchange', + subject_token_type: 'https://acme.com/cis-token', + action_id: 'action_123', + type: 'custom_authentication', + }, + ]), + }, + actions: { + list: () => Promise.resolve({ data: [] }), + }, + pool, + }; + + const configNoDelete = function (key) { + return configNoDelete.data && configNoDelete.data[key]; + }; + configNoDelete.data = { + AUTH0_CLIENT_ID: 'client_id', + AUTH0_ALLOW_DELETE: false, + }; + + const handler = new tokenExchangeProfiles.default({ + client: pageClient(auth0), + config: configNoDelete, + }); + const stageFn = Object.getPrototypeOf(handler).processChanges; + await stageFn.apply(handler, [{ tokenExchangeProfiles: [] }]); + + expect(deleteCalled).to.equal(false); + }); + + it('should do nothing if tokenExchangeProfiles is not provided', async () => { + let createCalled = false; + let updateCalled = false; + let deleteCalled = false; + + const auth0 = { + tokenExchangeProfiles: { + create: () => { + createCalled = true; + return Promise.resolve({ data: [] }); + }, + update: () => { + updateCalled = true; + return Promise.resolve({ data: [] }); + }, + delete: () => { + deleteCalled = true; + return Promise.resolve(); + }, + list: (params) => mockPagedData(params, 'tokenExchangeProfiles', []), + }, + actions: { + list: () => Promise.resolve({ data: [] }), + }, + pool, + }; + + const handler = new tokenExchangeProfiles.default({ client: pageClient(auth0), config }); + const stageFn = Object.getPrototypeOf(handler).processChanges; + await stageFn.apply(handler, [{}]); // No tokenExchangeProfiles in assets + + expect(createCalled).to.equal(false); + expect(updateCalled).to.equal(false); + expect(deleteCalled).to.equal(false); + }); + }); + + describe('#tokenExchangeProfiles action mapping', () => { + it('should warn when action is not found during export', async () => { + const auth0 = { + tokenExchangeProfiles: { + list: (params) => + mockPagedData({ ...params, include_totals: true }, 'tokenExchangeProfiles', [ + { + id: 'tep_123', + name: 'CIS token exchange', + subject_token_type: 'https://acme.com/cis-token', + action_id: 'action_999', + type: 'custom_authentication', + }, + ]), + }, + actions: { + list: () => + Promise.resolve({ + data: [ + { + id: 'action_123', + name: 'my-action', + supported_triggers: [{ id: 'custom-token-exchange', version: 'v1' }], + }, + ], + }), + }, + pool, + }; + + const handler = new tokenExchangeProfiles.default({ client: pageClient(auth0), config }); + const data = await handler.getType(); + + // Profile should still be returned even if action is not found + expect(data).to.be.an('array'); + expect(data).to.have.lengthOf(1); + expect(data[0].action_id).to.equal('action_999'); // Should keep original action_id + expect(data[0].action).to.be.undefined; + }); + + it('should map multiple profiles with same action correctly', async () => { + const auth0 = { + tokenExchangeProfiles: { + list: (params) => + mockPagedData({ ...params, include_totals: true }, 'tokenExchangeProfiles', [ + { + id: 'tep_123', + name: 'CIS token exchange', + subject_token_type: 'https://acme.com/cis-token', + action_id: 'action_123', + type: 'custom_authentication', + }, + { + id: 'tep_456', + name: 'Partner token exchange', + subject_token_type: 'https://partner.com/auth-token', + action_id: 'action_123', + type: 'custom_authentication', + }, + ]), + }, + actions: { + list: () => + Promise.resolve({ + data: [ + { + id: 'action_123', + name: 'my-action', + supported_triggers: [{ id: 'custom-token-exchange', version: 'v1' }], + }, + ], + }), + }, + pool, + }; + + const handler = new tokenExchangeProfiles.default({ client: pageClient(auth0), config }); + const data = await handler.getType(); + + expect(data).to.be.an('array'); + expect(data).to.have.lengthOf(2); + expect(data[0].action).to.equal('my-action'); + expect(data[1].action).to.equal('my-action'); + expect(data[0].action_id).to.be.undefined; + expect(data[1].action_id).to.be.undefined; + }); + }); +}); diff --git a/test/utils.js b/test/utils.js index f951b8405..b240d9171 100644 --- a/test/utils.js +++ b/test/utils.js @@ -217,6 +217,9 @@ export function mockMgmtClient() { userAttributeProfiles: { list: (params) => mockPagedData(params, 'userAttributeProfiles', []), }, + tokenExchangeProfiles: { + list: (params) => mockPagedData(params, 'tokenExchangeProfiles', []), + }, }; } From 8b10127039f6166bb723f372c2ebd0f683b71c4c Mon Sep 17 00:00:00 2001 From: Kushal <43465488+kushalshit27@users.noreply.github.com> Date: Tue, 16 Dec 2025 14:47:53 +0530 Subject: [PATCH 6/7] chore(deps): In-sync feature capability master (#1233) * chore(deps): bump js-yaml from 4.1.0 to 4.1.1 (#1206) Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.1.0 to 4.1.1. - [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md) - [Commits](https://github.com/nodeca/js-yaml/compare/4.1.0...4.1.1) --- updated-dependencies: - dependency-name: js-yaml dependency-version: 4.1.1 dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump js-yaml from 3.14.1 to 3.14.2 (#1208) Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 3.14.1 to 3.14.2. - [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md) - [Commits](https://github.com/nodeca/js-yaml/compare/3.14.1...3.14.2) --- updated-dependencies: - dependency-name: js-yaml dependency-version: 3.14.2 dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat: updated `session_transfer` schema for `clients` (#1211) * Support for ACUL:GA (#1209) * streamline rendering update payload construction and remove under EA * Add screenRenderers to prompts in context tests * Update logging to check for non-empty list before displaying msg * Remove ACUL from EA_FEATURES array * fix: handle responses when paginating custom domains (#1214) * Update CHANGELOG * 8.20.3 * fix(client.ts): improve getEntity function to handle various response types - Update getEntity to accept ApiResponse or Asset[] as input - Return empty array for empty responses instead of throwing an error - Directly return response if it is an array * feat: Add support for Connection Profiles and Express Configuration on Clients (#1204) * 8.21.0 (#1215) * Update CHANGELOG * 8.21.0 * feat: Exclude Third-Party Clients via `AUTH0_EXCLUDE_THIRD_PARTY_CLIENTS` config property (#1212) * added AUTH0_EXCLUDE_THIRD_PARTY_CLIENTS config property * add unit test * update processChanges to also apply third party client filter * add comments to client filtering logic --------- Co-authored-by: kushalshit27 <43465488+kushalshit27@users.noreply.github.com> * fix: `cross_origin_auth` is deprecated and migrated to `cross_origin_authentication` (#1223) * fix: added warning for legacy cross_origin_auth and added sanitizeDeprecatedClientFields for handling deprecated field and new field * test: add migration tests for deprecated cross_origin_auth to cross_origin_authentication * fix: rename variable for clarity in sanitizeClientFields function * fix: update client sanitization to handle deprecated cross_origin_auth field * fix: refactor client field sanitization to improve clarity and handle deprecated cross_origin_auth field * fix: specify type for fields in sanitizeClientFields function * fix: rename variable for clarity in sanitizeClientFields function and update handling of deprecated cross_origin_auth field * fix: migrate deprecated cross_origin_auth to cross_origin_authentication in client export * fix: ensure newline at end of file in clients.tests.js * fix: refactor cross_origin_auth sanitization into a dedicated method * fix: improve client field sanitization and handle deprecated cross_origin_auth field * Refactor code structure for improved readability and maintainability * fix: correct spelling of 'sanitized' in client field sanitization methods * fix: update deprecation warning for 'cross_origin_auth' parameter * fix: managing `Auth0 My Account API` in `resourceServers` (#1229) * fix: update dependencies to latest versions - package.json: bump winston to ^3.19.0 - package.json: bump @types/lodash to ^4.17.21 - package.json: bump typescript to ^5.9.3 * feat: enhance resource server handling - src/tools/auth0/handlers/resourceServers.ts: allow updating specific fields for system resource servers - src/tools/auth0/handlers/resourceServers.ts: sanitize fields of resource servers before returning - src/tools/auth0/handlers/resourceServers.ts: add updateResourceServer method to handle name exclusion for system servers * fix: remove from allowedKeys in ResourceServersHandler - src/tools/auth0/handlers/resourceServers.ts: removed 'token_lifetime_for_web' TODO - src/tools/auth0/handlers/resourceServers.ts: removed 'allow_offline_access' TODO * feat(test): add tests for Auth0 My Account API resource server handling - test/tools/auth0/handlers/resourceServers.tests.js: sanitize system resource servers in getType for Auth0 My Account API - test/tools/auth0/handlers/resourceServers.tests.js: update 'Auth0 My Account API' without name and is_system * 8.22.0 (#1230) * Update CHANGELOG * 8.22.0 * fix: improved_signup_bot_detection_in_classic is added in allowed tenant flags (#1231) fix: improved_signup_bot_detection_in_classic flag is added in allowed tenant flags * feat: update dependencies in package.json and package-lock.json - package.json: update auth0 from ^5.1.0 to ^5.2.0 - package.json: update winston from ^3.18.3 to ^3.19.0 - package.json: update @types/lodash from ^4.17.20 to ^4.17.21 - package.json: update @typescript-eslint/eslint-plugin from ^8.47.0 to ^8.49.0 - package.json: update @typescript-eslint/parser from ^8.47.0 to ^8.49.0 * feat: update method names from getAll to list for consistency * feat: update dependencies and improve handlers - package.json: update eslint and typescript-eslint dependencies to latest versions - package-lock.json: update eslint and typescript-eslint dependencies to latest versions - src/tools/auth0/handlers/clientGrants.ts: removed 'scope' from required fields - src/tools/auth0/handlers/connectionProfiles.ts: added update function and refactored processChanges - src/tools/auth0/handlers/emailTemplates.ts: added objString method for email templates - src/tools/auth0/handlers/resourceServers.ts: refactored updateResourceServer to exclude name from updates - src/tools/auth0/handlers/selfServiceProfiles.ts: added objString method for self-service profiles * feat: update Node version in README and remove redundant validation test - README.md: update Node version from 20.18.1 to 20.19.0 - test/tools/auth0/validator.tests.js: remove test for missing 'scope' validation * feat: update connectionProfiles and resourceServers handlers for parameter consistency - test/tools/auth0/handlers/connectionProfiles.tests.js: change update function parameter from params to id - test/tools/auth0/handlers/resourceServers.tests.js: change update function parameter from params to id * add lint check * add lint check * feat: update console warning handling and ESLint rules - src/context/directory/handlers/flowVaultConnections.ts: add console warning for setup key limitations - src/context/yaml/handlers/flowVaultConnections.ts: add console warning for setup key limitations - src/keywordPreservation.ts: add console warning for remote value preservation - eslint.config.js: change no-console rule to warn - src/index.ts: format error logging for better readability - test/tools/auth0/handlers/databases.tests.js: remove redundant console warning tests * E2E updated --------- --- .circleci/config.yml | 11 + README.md | 2 +- docs/configuring-the-deploy-cli.md | 4 + docs/excluding-from-management.md | 12 + docs/resource-specific-documentation.md | 79 + eslint.config.js | 1 + .../clients/My App with Express Config.json | 13 + .../Basic Connection Profile.json | 10 + .../Enterprise SSO Profile.json | 27 + .../My User Attribute Profile.json | 12 + examples/yaml/tenant.yaml | 47 + package-lock.json | 363 +- package.json | 12 +- src/context/directory/handlers/clients.ts | 35 + .../directory/handlers/connectionProfiles.ts | 65 + .../handlers/flowVaultConnections.ts | 1 + src/context/directory/handlers/index.ts | 2 + src/context/index.ts | 4 +- src/context/yaml/handlers/clients.ts | 37 +- .../yaml/handlers/connectionProfiles.ts | 40 + .../yaml/handlers/flowVaultConnections.ts | 1 + src/context/yaml/handlers/index.ts | 2 + src/keywordPreservation.ts | 1 + src/tools/auth0/handlers/clientGrants.ts | 12 +- src/tools/auth0/handlers/clients.ts | 249 +- .../auth0/handlers/connectionProfiles.ts | 257 + src/tools/auth0/handlers/emailTemplates.ts | 7 + src/tools/auth0/handlers/index.ts | 2 + src/tools/auth0/handlers/prompts.ts | 18 +- src/tools/auth0/handlers/resourceServers.ts | 64 +- .../auth0/handlers/selfServiceProfiles.ts | 20 +- src/tools/auth0/handlers/tenant.ts | 1 + .../auth0/handlers/userAttributeProfiles.ts | 54 +- src/tools/constants.ts | 1 + src/types.ts | 4 + test/context/directory/clients.test.js | 79 +- .../directory/connectionProfiles.test.js | 50 + test/context/yaml/clients.test.js | 73 +- test/context/yaml/connectionProfiles.test.js | 46 + test/context/yaml/context.test.js | 6 + ...sources-if-AUTH0_ALLOW_DELETE-is-true.json | 3817 +++++----- ...ources-if-AUTH0_ALLOW_DELETE-is-false.json | 6460 +++++++++-------- ...ould-deploy-without-throwing-an-error.json | 238 +- ...-and-deploy-without-throwing-an-error.json | 1353 ++-- ...should-dump-without-throwing-an-error.json | 329 +- ...reserve-keywords-for-directory-format.json | 1263 +++- ...uld-preserve-keywords-for-yaml-format.json | 1579 +++- test/tools/auth0/handlers/clients.tests.js | 423 +- .../handlers/connectionProfiles.tests.js | 133 + test/tools/auth0/handlers/databases.tests.js | 50 - .../auth0/handlers/resourceServers.tests.js | 80 +- .../handlers/selfServiceProfiles.tests.js | 30 + .../handlers/userAttributeProfiles.tests.js | 2 +- test/tools/auth0/validator.tests.js | 11 - test/utils.js | 3 + 55 files changed, 10793 insertions(+), 6702 deletions(-) create mode 100644 examples/directory/clients/My App with Express Config.json create mode 100644 examples/directory/connection-profiles/Basic Connection Profile.json create mode 100644 examples/directory/connection-profiles/Enterprise SSO Profile.json create mode 100644 examples/directory/user-attribute-profiles/My User Attribute Profile.json create mode 100644 src/context/directory/handlers/connectionProfiles.ts create mode 100644 src/context/yaml/handlers/connectionProfiles.ts create mode 100644 src/tools/auth0/handlers/connectionProfiles.ts create mode 100644 test/context/directory/connectionProfiles.test.js create mode 100644 test/context/yaml/connectionProfiles.test.js create mode 100644 test/tools/auth0/handlers/connectionProfiles.tests.js diff --git a/.circleci/config.yml b/.circleci/config.yml index d118fb774..81bb97152 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -93,6 +93,15 @@ jobs: - run: npm ci - run: npx tsc --noEmit + does_lint_pass: + docker: + - image: cimg/node:22.12.0 + working_directory: ~/repo + steps: + - checkout + - run: npm ci + - run: npm run lint + workflows: version: 2 @@ -110,6 +119,8 @@ workflows: jobs: - does_typescript_compile: name: Does Typescript compile? + - does_lint_pass: + name: Does lint pass? - unit_test: name: Unit tests with Node LTS v: "lts" diff --git a/README.md b/README.md index 8e3269d67..d985ac81f 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ This guide will help you to a working implementation of the Deploy CLI tool used ### Prerequisites -- [Node](https://nodejs.dev/) version 20(v20.18.1) or greater +- [Node](https://nodejs.dev/) version 20(v20.19.0) or greater - [Auth0 Tenant](https://auth0.com/) ### Install the Deploy CLI diff --git a/docs/configuring-the-deploy-cli.md b/docs/configuring-the-deploy-cli.md index edd2f5c73..015a7a300 100644 --- a/docs/configuring-the-deploy-cli.md +++ b/docs/configuring-the-deploy-cli.md @@ -155,6 +155,10 @@ Provides ability to exclude any unwanted properties from management. String. Separate value from audience value while retrieving an access token for management API. Useful when default Management API endpoints are not publicly exposed. +### `AUTH0_EXCLUDE_THIRD_PARTY_CLIENTS` + +Boolean. When enabled, excludes third-party clients from being managed. Only first-party clients will be included in export and import operations. This is useful when you have Dynamic Client Registration (DCR) enabled and you have a lot of third-party clients in your tenant. Default: `false`. + ### `AUTH0_EXCLUDED_RULES` Array of strings. Excludes the management of specific rules by ID. **Note:** This configuration may be subject to deprecation in the future. See: [excluding resources from management](excluding-from-management.md). diff --git a/docs/excluding-from-management.md b/docs/excluding-from-management.md index b6f70faa2..d0614ae0f 100644 --- a/docs/excluding-from-management.md +++ b/docs/excluding-from-management.md @@ -55,6 +55,18 @@ Some resource types support exclusions of individual resource by name. This is p > ⚠️ **NOTE:** Excluding resources by ID is being considered for deprecation in future major versions. See the [resource exclusion proposal](https://github.com/auth0/auth0-deploy-cli/issues/451) for more details. +### Excluding third-party clients + +You can also exclude all third-party clients at once using the `AUTH0_EXCLUDE_THIRD_PARTY_CLIENTS` configuration option. When enabled, only first-party clients will be included in export and import operations. This is useful when you have Dynamic Client Registration (DCR) enabled and you have a lot of third-party clients in your tenant. + +```json +{ + "AUTH0_DOMAIN": "example-site.us.auth0.com", + "AUTH0_CLIENT_ID": "", + "AUTH0_EXCLUDE_THIRD_PARTY_CLIENTS": true +} +``` + ## Omitted vs excluded vs empty The above sections pertain to exclusion which forcefully ignore configurations bi-directionally. It is worth noting similar but very different concepts: “omissions” and “empty” states. diff --git a/docs/resource-specific-documentation.md b/docs/resource-specific-documentation.md index f717eef9b..b99cda260 100644 --- a/docs/resource-specific-documentation.md +++ b/docs/resource-specific-documentation.md @@ -628,3 +628,82 @@ Example `phone-templates/otp_verify.json`: } } ``` + +## Connection Profiles + +Application specific configuration for use with the OIN Express Configuration feature + +### YAML Example + +```yaml +# Contents of ./tenant.yaml +connectionProfiles: + - name: 'Enterprise SSO Profile' + organization: + show_as_button: 'required' + assign_membership_on_login: 'required' + connection_name_prefix_template: 'org-{organization_name}' + enabled_features: + - scim + - universal_logout + strategy_overrides: + samlp: + enabled_features: + - universal_logout + oidc: + enabled_features: + - scim + - universal_logout + - name: 'Basic Connection Profile' + organization: + show_as_button: 'optional' + assign_membership_on_login: 'optional' + enabled_features: + - scim +``` + +### Directory Example + +File: `./connection-profiles/Enterprise SSO Profile.json` + +```json +{ + "name": "Enterprise SSO Profile", + "organization": { + "show_as_button": "required", + "assign_membership_on_login": "required" + }, + "connection_name_prefix_template": "org-{organization_name}", + "enabled_features": ["scim", "universal_logout"], + "strategy_overrides": { + "samlp": { + "enabled_features": ["universal_logout"] + }, + "oidc": { + "enabled_features": ["scim", "universal_logout"] + } + } +} +``` + +### Express Configuration on Clients + +Connection profiles are used in conjunction with the `express_configuration` property on client applications: (In order to use express_configuration app_type should not be 'express_configuration') + +```yaml +clients: + - name: 'My Enterprise App' + app_type: 'regular_web' + express_configuration: + initiate_login_uri_template: 'https://myapp.com/sso/start?org={organization_name}&conn={connection_name}' + user_attribute_profile_id: 'My User Attribute Profile' + connection_profile_id: 'Enterprise SSO Profile' # Reference to connection profile + enable_client: true + enable_organization: true + okta_oin_client_id: 'My Okta OIN Client' + admin_login_domain: 'login.myapp.com' + linked_clients: + - client_id: 'client_id_of_mobile_app' +``` + +For more details, see the [Management API documentation](https://auth0.com/docs/api/management/v2). diff --git a/eslint.config.js b/eslint.config.js index 9fc16359a..e78ee8be1 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -91,6 +91,7 @@ module.exports = [ 'no-useless-escape': 'off', 'no-redeclare': 'off', 'no-unused-vars': 'off', + 'no-console': 'warn', '@typescript-eslint/no-unused-vars': [ 'error', { diff --git a/examples/directory/clients/My App with Express Config.json b/examples/directory/clients/My App with Express Config.json new file mode 100644 index 000000000..f5f677ef7 --- /dev/null +++ b/examples/directory/clients/My App with Express Config.json @@ -0,0 +1,13 @@ +{ + "name": "My App with Express Config", + "app_type": "regular_web", + "express_configuration": { + "initiate_login_uri_template": "https://myapp.com/sso/start?org={organization_name}&conn={connection_name}", + "user_attribute_profile_id": "My User Attribute Profile", + "connection_profile_id": "Enterprise SSO Profile", + "enable_client": true, + "enable_organization": true, + "okta_oin_client_id": "My Okta OIN Client", + "admin_login_domain": "login.myapp.com" + } +} diff --git a/examples/directory/connection-profiles/Basic Connection Profile.json b/examples/directory/connection-profiles/Basic Connection Profile.json new file mode 100644 index 000000000..96430d5f1 --- /dev/null +++ b/examples/directory/connection-profiles/Basic Connection Profile.json @@ -0,0 +1,10 @@ +{ + "name": "Basic Connection Profile", + "organization": { + "show_as_button": "optional", + "assign_membership_on_login": "optional" + }, + "enabled_features": [ + "scim" + ] +} diff --git a/examples/directory/connection-profiles/Enterprise SSO Profile.json b/examples/directory/connection-profiles/Enterprise SSO Profile.json new file mode 100644 index 000000000..693212ac0 --- /dev/null +++ b/examples/directory/connection-profiles/Enterprise SSO Profile.json @@ -0,0 +1,27 @@ +{ + "name": "Enterprise SSO Profile", + "organization": { + "show_as_button": "required", + "assign_membership_on_login": "required" + }, + "connection_name_prefix_template": "org-{org_name}", + "enabled_features": [ + "scim", + "universal_logout" + ], + "strategy_overrides": { + "samlp": { + "enabled_features": [ + "universal_logout" + ], + "connection_config": {} + }, + "oidc": { + "enabled_features": [ + "scim", + "universal_logout" + ], + "connection_config": {} + } + } +} diff --git a/examples/directory/user-attribute-profiles/My User Attribute Profile.json b/examples/directory/user-attribute-profiles/My User Attribute Profile.json new file mode 100644 index 000000000..74abf4979 --- /dev/null +++ b/examples/directory/user-attribute-profiles/My User Attribute Profile.json @@ -0,0 +1,12 @@ +{ + "name": "My User Attribute Profile", + "description": "My User Attribute Profile Description", + "user_attributes": [ + { + "name": "email", + "description": "Email", + "type": "email", + "required": true + } + ] +} diff --git a/examples/yaml/tenant.yaml b/examples/yaml/tenant.yaml index 2cb4b84e3..71ace6219 100644 --- a/examples/yaml/tenant.yaml +++ b/examples/yaml/tenant.yaml @@ -42,6 +42,20 @@ clients: name: "My Resource Server Client" app_type: "resource_server" resource_server_identifier: "https://##ENV##.myapp.com/api/v1" + - + name: "My Okta OIN Client" + app_type: "regular_web" + - + name: "My Express App" + app_type: "regular_web" + express_configuration: + initiate_login_uri_template: "https://myapp.com/sso/start?org={organization_name}&conn={connection_name}" + user_attribute_profile_id: "My User Attribute Profile" + connection_profile_id: "Enterprise SSO Profile" + enable_client: true + enable_organization: true + okta_oin_client_id: "My Okta OIN Client" + admin_login_domain: "login.myapp.com" - name: "My Token Exchange App" app_type: "regular_web" @@ -404,3 +418,36 @@ attackProtection: max_attempts: 50 rate: 1200 +connectionProfiles: + - name: "Enterprise SSO Profile" + organization: + show_as_button: "required" + assign_membership_on_login: "required" + connection_name_prefix_template: "org-{org_name}" + enabled_features: + - scim + - universal_logout + strategy_overrides: + samlp: + enabled_features: + - universal_logout + oidc: + enabled_features: + - scim + - universal_logout + - name: "Basic Connection Profile" + organization: + show_as_button: "optional" + assign_membership_on_login: "optional" + enabled_features: + - scim + +userAttributeProfiles: + - name: "My User Attribute Profile" + description: "My User Attribute Profile Description" + user_attributes: + - name: "email" + description: "Email" + type: "email" + required: true + diff --git a/package-lock.json b/package-lock.json index 1e54dcfc0..f1b6b22fd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,23 +20,23 @@ "promise-pool-executor": "^1.1.1", "sanitize-filename": "^1.6.3", "undici": "^7.16.0", - "winston": "^3.18.3", + "winston": "^3.19.0", "yargs": "^15.4.1" }, "bin": { "a0deploy": "lib/index.js" }, "devDependencies": { - "@eslint/js": "^9.39.1", + "@eslint/js": "^9.39.2", "@types/fs-extra": "^9.0.13", - "@types/lodash": "^4.17.20", + "@types/lodash": "^4.17.21", "@types/mocha": "^10.0.10", "@types/nconf": "^0.10.7", - "@typescript-eslint/eslint-plugin": "^8.47.0", - "@typescript-eslint/parser": "^8.47.0", + "@typescript-eslint/eslint-plugin": "^8.50.0", + "@typescript-eslint/parser": "^8.50.0", "chai": "^4.5.0", "chai-as-promised": "^7.1.2", - "eslint": "^9.39.1", + "eslint": "^9.39.2", "eslint-config-prettier": "^10.1.8", "eslint-plugin-import": "^2.32.0", "globals": "^15.12.0", @@ -512,9 +512,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.39.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.1.tgz", - "integrity": "sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==", + "version": "9.39.2", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz", + "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==", "dev": true, "license": "MIT", "engines": { @@ -767,44 +767,6 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/@rtsao/scc": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", @@ -903,9 +865,9 @@ "license": "MIT" }, "node_modules/@types/lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA==", + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-FOvQ0YPD5NOfPgMzJihoT+Za5pdkDJWcbpuj1DjaKZIr/gxodQjY/uWEFlTNqW2ugXHUiL8lRQgw63dzKHZdeQ==", "dev": true, "license": "MIT" }, @@ -940,18 +902,17 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.47.0.tgz", - "integrity": "sha512-fe0rz9WJQ5t2iaLfdbDc9T80GJy0AeO453q8C3YCilnGozvOyCG5t+EZtg7j7D88+c3FipfP/x+wzGnh1xp8ZA==", + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.50.0.tgz", + "integrity": "sha512-O7QnmOXYKVtPrfYzMolrCTfkezCJS9+ljLdKW/+DCvRsc3UAz+sbH6Xcsv7p30+0OwUbeWfUDAQE0vpabZ3QLg==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.47.0", - "@typescript-eslint/type-utils": "8.47.0", - "@typescript-eslint/utils": "8.47.0", - "@typescript-eslint/visitor-keys": "8.47.0", - "graphemer": "^1.4.0", + "@typescript-eslint/scope-manager": "8.50.0", + "@typescript-eslint/type-utils": "8.50.0", + "@typescript-eslint/utils": "8.50.0", + "@typescript-eslint/visitor-keys": "8.50.0", "ignore": "^7.0.0", "natural-compare": "^1.4.0", "ts-api-utils": "^2.1.0" @@ -964,22 +925,22 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.47.0", + "@typescript-eslint/parser": "^8.50.0", "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/parser": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.47.0.tgz", - "integrity": "sha512-lJi3PfxVmo0AkEY93ecfN+r8SofEqZNGByvHAI3GBLrvt1Cw6H5k1IM02nSzu0RfUafr2EvFSw0wAsZgubNplQ==", + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.50.0.tgz", + "integrity": "sha512-6/cmF2piao+f6wSxUsJLZjck7OQsYyRtcOZS02k7XINSNlz93v6emM8WutDQSXnroG2xwYlEVHJI+cPA7CPM3Q==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.47.0", - "@typescript-eslint/types": "8.47.0", - "@typescript-eslint/typescript-estree": "8.47.0", - "@typescript-eslint/visitor-keys": "8.47.0", + "@typescript-eslint/scope-manager": "8.50.0", + "@typescript-eslint/types": "8.50.0", + "@typescript-eslint/typescript-estree": "8.50.0", + "@typescript-eslint/visitor-keys": "8.50.0", "debug": "^4.3.4" }, "engines": { @@ -995,14 +956,14 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.47.0.tgz", - "integrity": "sha512-2X4BX8hUeB5JcA1TQJ7GjcgulXQ+5UkNb0DL8gHsHUHdFoiCTJoYLTpib3LtSDPZsRET5ygN4qqIWrHyYIKERA==", + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.50.0.tgz", + "integrity": "sha512-Cg/nQcL1BcoTijEWyx4mkVC56r8dj44bFDvBdygifuS20f3OZCHmFbjF34DPSi07kwlFvqfv/xOLnJ5DquxSGQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.47.0", - "@typescript-eslint/types": "^8.47.0", + "@typescript-eslint/tsconfig-utils": "^8.50.0", + "@typescript-eslint/types": "^8.50.0", "debug": "^4.3.4" }, "engines": { @@ -1017,14 +978,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.47.0.tgz", - "integrity": "sha512-a0TTJk4HXMkfpFkL9/WaGTNuv7JWfFTQFJd6zS9dVAjKsojmv9HT55xzbEpnZoY+VUb+YXLMp+ihMLz/UlZfDg==", + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.50.0.tgz", + "integrity": "sha512-xCwfuCZjhIqy7+HKxBLrDVT5q/iq7XBVBXLn57RTIIpelLtEIZHXAF/Upa3+gaCpeV1NNS5Z9A+ID6jn50VD4A==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.47.0", - "@typescript-eslint/visitor-keys": "8.47.0" + "@typescript-eslint/types": "8.50.0", + "@typescript-eslint/visitor-keys": "8.50.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1035,9 +996,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.47.0.tgz", - "integrity": "sha512-ybUAvjy4ZCL11uryalkKxuT3w3sXJAuWhOoGS3T/Wu+iUu1tGJmk5ytSY8gbdACNARmcYEB0COksD2j6hfGK2g==", + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.50.0.tgz", + "integrity": "sha512-vxd3G/ybKTSlm31MOA96gqvrRGv9RJ7LGtZCn2Vrc5htA0zCDvcMqUkifcjrWNNKXHUU3WCkYOzzVSFBd0wa2w==", "dev": true, "license": "MIT", "engines": { @@ -1052,15 +1013,15 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.47.0.tgz", - "integrity": "sha512-QC9RiCmZ2HmIdCEvhd1aJELBlD93ErziOXXlHEZyuBo3tBiAZieya0HLIxp+DoDWlsQqDawyKuNEhORyku+P8A==", + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.50.0.tgz", + "integrity": "sha512-7OciHT2lKCewR0mFoBrvZJ4AXTMe/sYOe87289WAViOocEmDjjv8MvIOT2XESuKj9jp8u3SZYUSh89QA4S1kQw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.47.0", - "@typescript-eslint/typescript-estree": "8.47.0", - "@typescript-eslint/utils": "8.47.0", + "@typescript-eslint/types": "8.50.0", + "@typescript-eslint/typescript-estree": "8.50.0", + "@typescript-eslint/utils": "8.50.0", "debug": "^4.3.4", "ts-api-utils": "^2.1.0" }, @@ -1077,9 +1038,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.47.0.tgz", - "integrity": "sha512-nHAE6bMKsizhA2uuYZbEbmp5z2UpffNrPEqiKIeN7VsV6UY/roxanWfoRrf6x/k9+Obf+GQdkm0nPU+vnMXo9A==", + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.50.0.tgz", + "integrity": "sha512-iX1mgmGrXdANhhITbpp2QQM2fGehBse9LbTf0sidWK6yg/NE+uhV5dfU1g6EYPlcReYmkE9QLPq/2irKAmtS9w==", "dev": true, "license": "MIT", "engines": { @@ -1091,21 +1052,20 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.47.0.tgz", - "integrity": "sha512-k6ti9UepJf5NpzCjH31hQNLHQWupTRPhZ+KFF8WtTuTpy7uHPfeg2NM7cP27aCGajoEplxJDFVCEm9TGPYyiVg==", + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.50.0.tgz", + "integrity": "sha512-W7SVAGBR/IX7zm1t70Yujpbk+zdPq/u4soeFSknWFdXIFuWsBGBOUu/Tn/I6KHSKvSh91OiMuaSnYp3mtPt5IQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.47.0", - "@typescript-eslint/tsconfig-utils": "8.47.0", - "@typescript-eslint/types": "8.47.0", - "@typescript-eslint/visitor-keys": "8.47.0", + "@typescript-eslint/project-service": "8.50.0", + "@typescript-eslint/tsconfig-utils": "8.50.0", + "@typescript-eslint/types": "8.50.0", + "@typescript-eslint/visitor-keys": "8.50.0", "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", "minimatch": "^9.0.4", "semver": "^7.6.0", + "tinyglobby": "^0.2.15", "ts-api-utils": "^2.1.0" }, "engines": { @@ -1120,16 +1080,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.47.0.tgz", - "integrity": "sha512-g7XrNf25iL4TJOiPqatNuaChyqt49a/onq5YsJ9+hXeugK+41LVg7AxikMfM02PC6jbNtZLCJj6AUcQXJS/jGQ==", + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.50.0.tgz", + "integrity": "sha512-87KgUXET09CRjGCi2Ejxy3PULXna63/bMYv72tCAlDJC3Yqwln0HiFJ3VJMst2+mEtNtZu5oFvX4qJGjKsnAgg==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.7.0", - "@typescript-eslint/scope-manager": "8.47.0", - "@typescript-eslint/types": "8.47.0", - "@typescript-eslint/typescript-estree": "8.47.0" + "@typescript-eslint/scope-manager": "8.50.0", + "@typescript-eslint/types": "8.50.0", + "@typescript-eslint/typescript-estree": "8.50.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1144,13 +1104,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.47.0.tgz", - "integrity": "sha512-SIV3/6eftCy1bNzCQoPmbWsRLujS8t5iDIZ4spZOBHqrM+yfX2ogg8Tt3PDTAVKw3sSCiUgg30uOAvK2r9zGjQ==", + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.50.0.tgz", + "integrity": "sha512-Xzmnb58+Db78gT/CCj/PVCvK+zxbnsw6F+O1oheYszJbBSdEjVhQi3C/Xttzxgi/GLmpvOggRs1RFpiJ8+c34Q==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.47.0", + "@typescript-eslint/types": "8.50.0", "eslint-visitor-keys": "^4.2.1" }, "engines": { @@ -2371,9 +2331,9 @@ } }, "node_modules/eslint": { - "version": "9.39.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.1.tgz", - "integrity": "sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==", + "version": "9.39.2", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz", + "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", "dev": true, "license": "MIT", "dependencies": { @@ -2383,7 +2343,7 @@ "@eslint/config-helpers": "^0.4.2", "@eslint/core": "^0.17.0", "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.39.1", + "@eslint/js": "9.39.2", "@eslint/plugin-kit": "^0.4.1", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", @@ -2772,36 +2732,6 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "license": "MIT" }, - "node_modules/fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", @@ -2815,16 +2745,6 @@ "dev": true, "license": "MIT" }, - "node_modules/fastq": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, "node_modules/fecha": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", @@ -3275,13 +3195,6 @@ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "license": "ISC" }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true, - "license": "MIT" - }, "node_modules/has-bigints": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", @@ -4442,30 +4355,6 @@ "dev": true, "license": "MIT" }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, - "license": "MIT", - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, "node_modules/mimic-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", @@ -5644,27 +5533,6 @@ "node": ">=6" } }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -5805,17 +5673,6 @@ "node": ">=4" } }, - "node_modules/reusify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, "node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -5886,30 +5743,6 @@ "dev": true, "license": "MIT" }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, "node_modules/safe-array-concat": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", @@ -6513,6 +6346,54 @@ "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==", "license": "MIT" }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -7049,9 +6930,9 @@ } }, "node_modules/winston": { - "version": "3.18.3", - "resolved": "https://registry.npmjs.org/winston/-/winston-3.18.3.tgz", - "integrity": "sha512-NoBZauFNNWENgsnC9YpgyYwOVrl2m58PpQ8lNHjV3kosGs7KJ7Npk9pCUE+WJlawVSe8mykWDKWFSVfs3QO9ww==", + "version": "3.19.0", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.19.0.tgz", + "integrity": "sha512-LZNJgPzfKR+/J3cHkxcpHKpKKvGfDZVPS4hfJCc4cCG0CgYzvlD6yE/S3CIL/Yt91ak327YCpiF/0MyeZHEHKA==", "license": "MIT", "dependencies": { "@colors/colors": "^1.6.0", diff --git a/package.json b/package.json index 7582fbd9f..b79e3982f 100644 --- a/package.json +++ b/package.json @@ -43,20 +43,20 @@ "promise-pool-executor": "^1.1.1", "sanitize-filename": "^1.6.3", "undici": "^7.16.0", - "winston": "^3.18.3", + "winston": "^3.19.0", "yargs": "^15.4.1" }, "devDependencies": { "@types/fs-extra": "^9.0.13", - "@types/lodash": "^4.17.20", + "@types/lodash": "^4.17.21", "@types/mocha": "^10.0.10", "@types/nconf": "^0.10.7", - "@eslint/js": "^9.39.1", - "@typescript-eslint/eslint-plugin": "^8.47.0", - "@typescript-eslint/parser": "^8.47.0", + "@eslint/js": "^9.39.2", + "@typescript-eslint/eslint-plugin": "^8.50.0", + "@typescript-eslint/parser": "^8.50.0", "chai": "^4.5.0", "chai-as-promised": "^7.1.2", - "eslint": "^9.39.1", + "eslint": "^9.39.2", "eslint-config-prettier": "^10.1.8", "eslint-plugin-import": "^2.32.0", "globals": "^15.12.0", diff --git a/src/context/directory/handlers/clients.ts b/src/context/directory/handlers/clients.ts index bfec1101a..b70d38a25 100644 --- a/src/context/directory/handlers/clients.ts +++ b/src/context/directory/handlers/clients.ts @@ -54,6 +54,7 @@ function parse(context: DirectoryContext): ParsedClients { async function dump(context: DirectoryContext): Promise { const { clients } = context.assets; + const { userAttributeProfiles, connectionProfiles } = context.assets; if (!clients) return; // Skip, nothing to dump @@ -73,6 +74,40 @@ async function dump(context: DirectoryContext): Promise { client.custom_login_page = `./${clientName}_custom_login_page.html`; } + + if (client.express_configuration) { + // map ids to names for user attribute profiles + const userAttributeProfileId = client?.express_configuration?.user_attribute_profile_id; + if (client.express_configuration && userAttributeProfileId) { + const p = userAttributeProfiles?.find((uap) => uap.id === userAttributeProfileId); + client.express_configuration.user_attribute_profile_id = p?.name || userAttributeProfileId; + } + + // map ids to names for connection profiles + const connectionProfilesProfileId = client?.express_configuration?.connection_profile_id; + if (client.express_configuration && connectionProfilesProfileId) { + const c = connectionProfiles?.find((uap) => uap.id === connectionProfilesProfileId); + client.express_configuration.connection_profile_id = c?.name || connectionProfilesProfileId; + } + + // map ids to names for okta oin clients + const oktaOinClientId = client?.express_configuration?.okta_oin_client_id; + if (client.express_configuration && oktaOinClientId) { + const o = clients?.find((uap) => uap.client_id === oktaOinClientId); + client.express_configuration.okta_oin_client_id = o?.name || oktaOinClientId; + } + } + + if (client.app_type === 'express_configuration') { + // only keep relevant fields for express configuration + client = { + name: client.name, + app_type: client.app_type, + client_authentication_methods: client.client_authentication_methods, + organization_require_behavior: client.organization_require_behavior, + } as Client; + } + dumpJSON(clientFile, clearClientArrays(client)); }); } diff --git a/src/context/directory/handlers/connectionProfiles.ts b/src/context/directory/handlers/connectionProfiles.ts new file mode 100644 index 000000000..b57cdec1f --- /dev/null +++ b/src/context/directory/handlers/connectionProfiles.ts @@ -0,0 +1,65 @@ +import path from 'path'; +import fs from 'fs-extra'; +import { constants } from '../../../tools'; +import log from '../../../logger'; + +import { dumpJSON, existsMustBeDir, getFiles, loadJSON, sanitize } from '../../../utils'; +import DirectoryContext from '..'; +import { ParsedAsset } from '../../../types'; +import { ConnectionProfile } from '../../../tools/auth0/handlers/connectionProfiles'; + +type ParsedConnectionProfiles = ParsedAsset<'connectionProfiles', Partial[]>; + +function parse(context: DirectoryContext): ParsedConnectionProfiles { + const connectionProfilesFolder = path.join( + context.filePath, + constants.CONNECTION_PROFILES_DIRECTORY + ); + if (!existsMustBeDir(connectionProfilesFolder)) return { connectionProfiles: null }; // Skip + + const files = getFiles(connectionProfilesFolder, ['.json']); + + const connectionProfiles = files.map((f) => { + const profile = { + ...loadJSON(f, { + mappings: context.mappings, + disableKeywordReplacement: context.disableKeywordReplacement, + }), + }; + return profile; + }); + + return { + connectionProfiles, + }; +} + +async function dump(context: DirectoryContext): Promise { + const { connectionProfiles } = context.assets; + if (!connectionProfiles) return; + + const connectionProfilesFolder = path.join( + context.filePath, + constants.CONNECTION_PROFILES_DIRECTORY + ); + fs.ensureDirSync(connectionProfilesFolder); + + connectionProfiles.forEach((profile) => { + const profileFile = path.join(connectionProfilesFolder, sanitize(`${profile.name}.json`)); + log.info(`Writing ${profileFile}`); + + // Remove read-only fields + if ('id' in profile) { + delete profile.id; + } + + dumpJSON(profileFile, profile); + }); +} + +const connectionProfilesHandler = { + parse, + dump, +}; + +export default connectionProfilesHandler; diff --git a/src/context/directory/handlers/flowVaultConnections.ts b/src/context/directory/handlers/flowVaultConnections.ts index 1ea45e0e2..8d7238a2e 100644 --- a/src/context/directory/handlers/flowVaultConnections.ts +++ b/src/context/directory/handlers/flowVaultConnections.ts @@ -71,6 +71,7 @@ async function dump(context: DirectoryContext) { }); }); + // eslint-disable-next-line no-console console.warn( 'WARNING! Flow vault connections `setup` key does not support keyword preservation, `export` or `dump` commmand will not preserve `setup` key in local configuration file.' ); diff --git a/src/context/directory/handlers/index.ts b/src/context/directory/handlers/index.ts index 24bc6298e..14faa0f1f 100644 --- a/src/context/directory/handlers/index.ts +++ b/src/context/directory/handlers/index.ts @@ -33,6 +33,7 @@ import flows from './flows'; import flowVaultConnections from './flowVaultConnections'; import networkACLs from './networkACLs'; import userAttributeProfiles from './userAttributeProfiles'; +import connectionProfiles from './connectionProfiles'; import tokenExchangeProfiles from './tokenExchangeProfiles'; import DirectoryContext from '..'; @@ -83,6 +84,7 @@ const directoryHandlers: { selfServiceProfiles, networkACLs, userAttributeProfiles, + connectionProfiles, tokenExchangeProfiles, }; diff --git a/src/context/index.ts b/src/context/index.ts index cb61672ca..9d03f50b5 100644 --- a/src/context/index.ts +++ b/src/context/index.ts @@ -26,7 +26,7 @@ const nonPrimitiveProps: (keyof Config)[] = [ 'INCLUDED_PROPS', ]; -const EA_FEATURES = ['ACUL']; +const EA_FEATURES = []; export const setupContext = async ( config: Config, @@ -144,7 +144,7 @@ export const setupContext = async ( : 'features [' + EA_FEATURES.join(',') + '] are' } enabled. These are in a pre-release state and may change in future release.` ); - } else { + } else if (EA_FEATURES.length > 0) { log.info( 'To enable experimental early access features use --experimental_ea flag or set AUTH0_EXPERIMENTAL_EA=true in configuration JSON.' ); diff --git a/src/context/yaml/handlers/clients.ts b/src/context/yaml/handlers/clients.ts index d4ddda905..f00b20f18 100644 --- a/src/context/yaml/handlers/clients.ts +++ b/src/context/yaml/handlers/clients.ts @@ -41,9 +41,34 @@ async function dump(context: YAMLContext): Promise { // Save custom_login_page to a separate html file const clientsFolder = path.join(context.basePath, constants.CLIENTS_DIRECTORY); - const { clients } = context.assets; + let { clients } = context.assets; + const { userAttributeProfiles, connectionProfiles } = context.assets; + if (!clients) return { clients: null }; + // map ids to names for user attribute profiles and connection profiles + clients = clients.map((client) => { + const userAttributeProfileId = client?.express_configuration?.user_attribute_profile_id; + if (client.express_configuration && userAttributeProfileId) { + const p = userAttributeProfiles?.find((uap) => uap.id === userAttributeProfileId); + client.express_configuration.user_attribute_profile_id = p?.name || userAttributeProfileId; + } + + const connectionProfilesProfileId = client?.express_configuration?.connection_profile_id; + if (client.express_configuration && connectionProfilesProfileId) { + const c = connectionProfiles?.find((uap) => uap.id === connectionProfilesProfileId); + client.express_configuration.connection_profile_id = c?.name || connectionProfilesProfileId; + } + + const oktaOinClientId = client?.express_configuration?.okta_oin_client_id; + if (client.express_configuration && oktaOinClientId) { + const o = clients?.find((uap) => uap.client_id === oktaOinClientId); + client.express_configuration.okta_oin_client_id = o?.name || oktaOinClientId; + } + + return client; + }); + return { clients: [ ...clients.map((client) => { @@ -59,6 +84,16 @@ async function dump(context: YAMLContext): Promise { client.custom_login_page = `./${clientName}_custom_login_page.html`; } + if (client.app_type === 'express_configuration') { + // only keep relevant fields for express configuration + client = { + name: client.name, + app_type: client.app_type, + client_authentication_methods: client.client_authentication_methods, + organization_require_behavior: client.organization_require_behavior, + } as Client; + } + return clearClientArrays(client) as Client; }), ], diff --git a/src/context/yaml/handlers/connectionProfiles.ts b/src/context/yaml/handlers/connectionProfiles.ts new file mode 100644 index 000000000..e8111076f --- /dev/null +++ b/src/context/yaml/handlers/connectionProfiles.ts @@ -0,0 +1,40 @@ +import YAMLContext from '..'; +import { ConnectionProfile } from '../../../tools/auth0/handlers/connectionProfiles'; +import { ParsedAsset } from '../../../types'; + +type ParsedConnectionProfiles = ParsedAsset<'connectionProfiles', Partial[]>; + +async function parse(context: YAMLContext): Promise { + const { connectionProfiles } = context.assets; + + if (!connectionProfiles) return { connectionProfiles: null }; + + return { + connectionProfiles, + }; +} + +async function dump(context: YAMLContext): Promise { + let { connectionProfiles } = context.assets; + if (!connectionProfiles) return { connectionProfiles: null }; + + connectionProfiles = connectionProfiles.map((profile) => { + // Remove read-only fields + if ('id' in profile) { + delete profile.id; + } + + return profile; + }); + + return { + connectionProfiles, + }; +} + +const connectionProfilesHandler = { + parse, + dump, +}; + +export default connectionProfilesHandler; diff --git a/src/context/yaml/handlers/flowVaultConnections.ts b/src/context/yaml/handlers/flowVaultConnections.ts index 91a9226df..6a18f88d2 100644 --- a/src/context/yaml/handlers/flowVaultConnections.ts +++ b/src/context/yaml/handlers/flowVaultConnections.ts @@ -40,6 +40,7 @@ async function dump(context: YAMLContext): Promise { }); }); + // eslint-disable-next-line no-console console.warn( 'WARNING! Flow vault connections `setup` key does not support keyword preservation, `export` or `dump` commmand will not preserve `setup` key in local configuration file.' ); diff --git a/src/context/yaml/handlers/index.ts b/src/context/yaml/handlers/index.ts index 3df2deccf..f6bbf8f0e 100644 --- a/src/context/yaml/handlers/index.ts +++ b/src/context/yaml/handlers/index.ts @@ -33,6 +33,7 @@ import flows from './flows'; import flowVaultConnections from './flowVaultConnections'; import networkACLs from './networkACLs'; import userAttributeProfiles from './userAttributeProfiles'; +import connectionProfiles from './connectionProfiles'; import tokenExchangeProfiles from './tokenExchangeProfiles'; import YAMLContext from '..'; @@ -81,6 +82,7 @@ const yamlHandlers: { [key in AssetTypes]: YAMLHandler<{ [key: string]: unknown selfServiceProfiles, networkACLs, userAttributeProfiles, + connectionProfiles, tokenExchangeProfiles, }; diff --git a/src/keywordPreservation.ts b/src/keywordPreservation.ts index 3d06c1494..3e2463480 100644 --- a/src/keywordPreservation.ts +++ b/src/keywordPreservation.ts @@ -300,6 +300,7 @@ export const preserveKeywords = ({ })(); if (!localAndRemoteValuesAreEqual) { + // eslint-disable-next-line no-console console.warn( `WARNING! The remote value with address of ${address} has value of "${remoteValue}" but will be preserved with "${localValueWithReplacement}" due to keyword preservation.` ); diff --git a/src/tools/auth0/handlers/clientGrants.ts b/src/tools/auth0/handlers/clientGrants.ts index a707c3d5a..9927ac781 100644 --- a/src/tools/auth0/handlers/clientGrants.ts +++ b/src/tools/auth0/handlers/clientGrants.ts @@ -32,7 +32,7 @@ export const schema = { uniqueItems: true, }, }, - required: ['client_id', 'scope', 'audience'], + required: ['client_id', 'audience'], }, }; @@ -48,13 +48,13 @@ export default class ClientGrantsHandler extends DefaultHandler { id: 'id', // @ts-ignore because not sure why two-dimensional array passed in identifiers: ['id', ['client_id', 'audience']], - stripUpdateFields: ['audience', 'client_id', 'subject_type'], functions: { update: async ( { id }: { id: string }, bodyParams: Management.UpdateClientGrantRequestContent ) => this.client.clientGrants.update(id, bodyParams), }, + stripUpdateFields: ['audience', 'client_id', 'subject_type', 'is_system'], }); } @@ -112,17 +112,19 @@ export default class ClientGrantsHandler extends DefaultHandler { clientGrants: formatted, }); - // eslint-disable-next-line camelcase - const filterGrants = (list: { client_id: string }[]) => { + const filterGrants = (list: ClientGrant[]) => { if (excludedClients.length) { return list.filter( (item) => item.client_id !== currentClient && + item.client_id && ![...excludedClientsByNames, ...excludedClients].includes(item.client_id) ); } - return list.filter((item) => item.client_id !== currentClient); + return list + .filter((item) => item.client_id !== currentClient) + .filter((item) => item.is_system !== true); }; const changes: CalculatedChanges = { diff --git a/src/tools/auth0/handlers/clients.ts b/src/tools/auth0/handlers/clients.ts index 004f3d204..6ad393754 100644 --- a/src/tools/auth0/handlers/clients.ts +++ b/src/tools/auth0/handlers/clients.ts @@ -1,7 +1,11 @@ import { Management } from 'auth0'; -import { Assets } from '../../../types'; +import { has, omit } from 'lodash'; +import { Assets, Auth0APIClient } from '../../../types'; import { paginate } from '../client'; import DefaultAPIHandler from './default'; +import { getConnectionProfile } from './connectionProfiles'; +import { getUserAttributeProfiles } from './userAttributeProfiles'; +import log from '../../../logger'; const multiResourceRefreshTokenPoliciesSchema = { type: ['array', 'null'], @@ -113,29 +117,46 @@ export const schema = { properties: { can_create_session_transfer_token: { type: 'boolean', + description: + "Indicates whether an app can issue a Session Transfer Token through Token Exchange. If set to 'false', the app will not be able to issue a Session Transfer Token. Usually configured in the native application.", default: false, + }, + enforce_cascade_revocation: { + type: 'boolean', description: - 'Specifies whether the application (Native app) can use the Token Exchange endpoint to create a session_transfer_token.', + 'Indicates whether revoking the parent Refresh Token that initiated a Native to Web flow and was used to issue a Session Transfer Token should trigger a cascade revocation affecting its dependent child entities. Usually configured in the native application.', + default: true, }, allowed_authentication_methods: { - type: 'array', + type: ['array', 'null'], + description: + 'Indicates whether an app can create a session from a Session Transfer Token received via indicated methods. Can include `cookie` and/or `query`. Usually configured in the web application.', items: { type: 'string', enum: ['cookie', 'query'], }, - default: [], - description: - 'Determines the methods allowed for a web application to create a session using a session_transfer_token.', }, enforce_device_binding: { type: 'string', - enum: ['none', 'ip', 'asn'], + description: + "Indicates whether device binding security should be enforced for the app. If set to 'ip', the app will enforce device binding by IP, meaning that consumption of Session Transfer Token must be done from the same IP of the issuer. Likewise, if set to 'asn', device binding is enforced by ASN, meaning consumption of Session Transfer Token must be done from the same ASN as the issuer. If set to 'null', device binding is not enforced. Usually configured in the web application.", + enum: ['ip', 'asn', 'none'], default: 'ip', + }, + allow_refresh_token: { + type: 'boolean', description: - 'Configures the level of device binding enforced when a session_transfer_token is consumed.', + 'Indicates whether Refresh Tokens are allowed to be issued when authenticating with a Session Transfer Token. Usually configured in the web application.', + default: false, + }, + enforce_online_refresh_tokens: { + type: 'boolean', + description: + "Indicates whether Refresh Tokens created during a native-to-web session are tied to that session's lifetime. This determines if such refresh tokens should be automatically revoked when their corresponding sessions are. Usually configured in the web application.", + default: true, }, }, - additionalProperties: false, + additionalProperties: true, }, app_type: { type: 'string', @@ -174,6 +195,74 @@ export const schema = { type: ['boolean', 'null'], description: 'Whether to skip the confirmation prompt for non-verifiable callback URIs', }, + express_configuration: { + type: ['object', 'null'], + description: + 'Application specific configuration for use with the OIN Express Configuration feature', + properties: { + initiate_login_uri_template: { + type: 'string', + description: + 'The URI users should bookmark to log in to this application. Variable substitution is permitted for the following properties: organization_name, organization_id, and connection_name.', + }, + user_attribute_profile_id: { + type: 'string', + description: 'The ID of the user attribute profile to use for this application', + }, + connection_profile_id: { + type: 'string', + description: 'The ID of the connection profile to use for this application', + }, + enable_client: { + type: 'boolean', + description: + 'When true, all connections made via express configuration will be enabled for this application', + }, + enable_organization: { + type: 'boolean', + description: + 'When true, all connections made via express configuration will have the associated organization enabled', + }, + linked_clients: { + type: 'array', + description: + 'List of client IDs that are linked to this express configuration (e.g. web or mobile clients)', + items: { + type: 'object', + properties: { + client_id: { + type: 'string', + description: 'The ID of the linked client', + }, + }, + required: ['client_id'], + }, + }, + okta_oin_client_id: { + type: 'string', + description: + 'This is the unique identifier for the Okta OIN Express Configuration Client, which Okta will use for this application', + }, + admin_login_domain: { + type: 'string', + description: + 'This is the domain that admins are expected to log in via for authenticating for express configuration. It can be either the canonical domain or a registered custom domain', + }, + oin_submission_id: { + type: 'string', + description: 'The identifier of the published application in the OKTA OIN', + }, + }, + required: [ + 'initiate_login_uri_template', + 'user_attribute_profile_id', + 'connection_profile_id', + 'enable_client', + 'enable_organization', + 'okta_oin_client_id', + 'admin_login_domain', + ], + }, token_exchange: { type: ['object', 'null'], description: 'Token exchange configuration for the client', @@ -234,28 +323,40 @@ export default class ClientHandler extends DefaultAPIHandler { // Do nothing if not set if (!clients) return; + assets.clients = await this.sanitizeMapExpressConfiguration(this.client, clients); + const excludedClients = (assets.exclude && assets.exclude.clients) || []; + const excludeThirdPartyClients = + this.config('AUTH0_EXCLUDE_THIRD_PARTY_CLIENTS') === 'true' || + this.config('AUTH0_EXCLUDE_THIRD_PARTY_CLIENTS') === true; + const { del, update, create, conflicts } = await this.calcChanges(assets); // Always filter out the client we are using to access Auth0 Management API // As it could cause problems if it gets deleted or updated etc const currentClient = this.config('AUTH0_CLIENT_ID') || ''; - const filterClients = (list) => { - if (excludedClients.length) { - return list.filter( - (item) => item.client_id !== currentClient && !excludedClients.includes(item.name) - ); - } - - return list.filter((item) => item.client_id !== currentClient); - }; + /* + * Filter out: + * - The client used to access Auth0 Management API + * - Clients in the exclusion list + * - Third-party clients when AUTH0_EXCLUDE_THIRD_PARTY_CLIENTS is enabled + */ + const filterClients = (list: Client[]): Client[] => + list.filter( + (item) => + item.client_id !== currentClient && + item.name && + !excludedClients.includes(item.name) && + (!excludeThirdPartyClients || item.is_first_party) + ); // Sanitize client fields - const sanitizeClientFields = (list) => - list.map((item) => { - // For resourceServers app type `resource_server`, don't include `oidc_backchannel_logout`, `oidc_logout`, `refresh_token` + const sanitizeClientFields = (list: Client[]): Client[] => { + const sanitizedClients = this.sanitizeCrossOriginAuth(list); + + return sanitizedClients.map((item: Client) => { if (item.app_type === 'resource_server') { if ('oidc_backchannel_logout' in item) { delete item.oidc_backchannel_logout; @@ -269,12 +370,13 @@ export default class ClientHandler extends DefaultAPIHandler { } return item; }); + }; const changes = { - del: sanitizeClientFields(filterClients(del)), - update: sanitizeClientFields(filterClients(update)), - create: sanitizeClientFields(filterClients(create)), - conflicts: sanitizeClientFields(filterClients(conflicts)), + del: sanitizeClientFields(filterClients(del as Client[])), + update: sanitizeClientFields(filterClients(update as Client[])), + create: sanitizeClientFields(filterClients(create as Client[])), + conflicts: sanitizeClientFields(filterClients(conflicts as Client[])), }; await super.processChanges(assets, { @@ -282,15 +384,110 @@ export default class ClientHandler extends DefaultAPIHandler { }); } + /** + * @description + * Sanitize the deprecated field `cross_origin_auth` to `cross_origin_authentication` + * + * @param {Client[]} clients - The client array to sanitize. + * @returns {Client[]} The sanitized array of clients. + */ + private sanitizeCrossOriginAuth(clients: Client[]): Client[] { + const deprecatedClients: string[] = []; + + const updatedClients = clients.map((client) => { + let updated: Client = { ...client }; + + if (has(updated, 'cross_origin_auth')) { + const clientName = client.name || client.client_id || 'unknown client'; + deprecatedClients.push(clientName); + + if (!has(updated, 'cross_origin_authentication')) { + updated.cross_origin_authentication = updated.cross_origin_auth; + } + + updated = omit(updated, 'cross_origin_auth') as Client; + } + + return updated; + }); + + if (deprecatedClients.length > 0) { + log.warn( + "The 'cross_origin_auth' parameter is deprecated in clients and scheduled for removal in future releases.\n" + + `Use 'cross_origin_authentication' going forward. Clients using the deprecated setting: [${deprecatedClients.join( + ', ' + )}]` + ); + } + + return updatedClients; + } + async getType() { if (this.existing) return this.existing; + const excludeThirdPartyClients = + this.config('AUTH0_EXCLUDE_THIRD_PARTY_CLIENTS') === 'true' || + this.config('AUTH0_EXCLUDE_THIRD_PARTY_CLIENTS') === true; + const clients = await paginate(this.client.clients.list, { paginate: true, is_global: false, + ...(excludeThirdPartyClients && { is_first_party: true }), }); - this.existing = clients; + const sanitizedClients = this.sanitizeCrossOriginAuth(clients); + + this.existing = sanitizedClients; return this.existing; } + + // convert names back to IDs for express configuration + async sanitizeMapExpressConfiguration( + auth0Client: Auth0APIClient, + clientList: Client[] + ): Promise { + // if no clients have express configuration, return early + if (!clientList.some((p) => p.express_configuration)) { + return clientList; + } + + const clientData = await this.getType(); + const connectionProfiles = await getConnectionProfile(auth0Client); + const userAttributeProfiles = await getUserAttributeProfiles(auth0Client); + + return clientList.map((client) => { + if (!client.express_configuration) return client; + + const userAttributeProfileName = client.express_configuration?.user_attribute_profile_id; + if (userAttributeProfileName) { + const userAttributeProfile = userAttributeProfiles?.find( + (uap) => uap.name === userAttributeProfileName + ); + if (userAttributeProfile?.id) { + client.express_configuration.user_attribute_profile_id = userAttributeProfile.id; + } + } + + const connectionProfileName = client.express_configuration.connection_profile_id; + if (connectionProfileName) { + const connectionProfile = connectionProfiles?.find( + (cp) => cp.name === connectionProfileName + ); + if (connectionProfile?.id) { + client.express_configuration.connection_profile_id = connectionProfile.id; + } + } + + const oktaOinClientName = client.express_configuration.okta_oin_client_id; + if (oktaOinClientName) { + const oktaOinClient = clientData?.find((c) => c.name === oktaOinClientName); + if (oktaOinClient?.client_id) { + client.express_configuration.okta_oin_client_id = oktaOinClient.client_id; + } + } + + return client; + }); + } } diff --git a/src/tools/auth0/handlers/connectionProfiles.ts b/src/tools/auth0/handlers/connectionProfiles.ts new file mode 100644 index 000000000..37ce45052 --- /dev/null +++ b/src/tools/auth0/handlers/connectionProfiles.ts @@ -0,0 +1,257 @@ +import { Management } from 'auth0'; +import { Assets, Auth0APIClient } from '../../../types'; +import DefaultAPIHandler from './default'; +import { paginate } from '../client'; +import log from '../../../logger'; + +export const schema = { + type: 'array', + items: { + type: 'object', + properties: { + name: { + type: 'string', + }, + organization: { + type: 'object', + properties: { + show_as_button: { + type: 'string', + enum: ['none', 'optional', 'required'], + }, + assign_membership_on_login: { + type: 'string', + enum: ['none', 'optional', 'required'], + }, + }, + }, + connection_name_prefix_template: { + type: 'string', + }, + enabled_features: { + type: 'array', + items: { + type: 'string', + enum: ['scim', 'universal_logout'], + }, + uniqueItems: true, + }, + connection_config: { + type: ['object', 'null'], + }, + strategy_overrides: { + type: ['object', 'null'], + properties: { + pingfederate: { + type: 'object', + properties: { + enabled_features: { + type: 'array', + items: { + type: 'string', + enum: ['scim', 'universal_logout'], + }, + uniqueItems: true, + }, + connection_config: { + type: 'object', + }, + }, + }, + ad: { + type: 'object', + properties: { + enabled_features: { + type: 'array', + items: { + type: 'string', + enum: ['scim', 'universal_logout'], + }, + uniqueItems: true, + }, + connection_config: { + type: 'object', + }, + }, + }, + adfs: { + type: 'object', + properties: { + enabled_features: { + type: 'array', + items: { + type: 'string', + enum: ['scim', 'universal_logout'], + }, + uniqueItems: true, + }, + connection_config: { + type: 'object', + }, + }, + }, + waad: { + type: 'object', + properties: { + enabled_features: { + type: 'array', + items: { + type: 'string', + enum: ['scim', 'universal_logout'], + }, + uniqueItems: true, + }, + connection_config: { + type: 'object', + }, + }, + }, + 'google-apps': { + type: 'object', + properties: { + enabled_features: { + type: 'array', + items: { + type: 'string', + enum: ['scim', 'universal_logout'], + }, + uniqueItems: true, + }, + connection_config: { + type: 'object', + }, + }, + }, + okta: { + type: 'object', + properties: { + enabled_features: { + type: 'array', + items: { + type: 'string', + enum: ['scim', 'universal_logout'], + }, + uniqueItems: true, + }, + connection_config: { + type: 'object', + }, + }, + }, + oidc: { + type: 'object', + properties: { + enabled_features: { + type: 'array', + items: { + type: 'string', + enum: ['scim', 'universal_logout'], + }, + uniqueItems: true, + }, + connection_config: { + type: 'object', + }, + }, + }, + samlp: { + type: 'object', + properties: { + enabled_features: { + type: 'array', + items: { + type: 'string', + enum: ['scim', 'universal_logout'], + }, + uniqueItems: true, + }, + connection_config: { + type: 'object', + }, + }, + }, + }, + }, + }, + required: ['name'], + }, +}; + +export type ConnectionProfile = Management.ConnectionProfile; + +export const getConnectionProfile = async ( + auth0Client: Auth0APIClient +): Promise => { + try { + const connectionProfiles = await paginate( + auth0Client.connectionProfiles?.list, + { + checkpoint: true, + take: 10, + } + ); + + return connectionProfiles; + } catch (err) { + if (err.statusCode === 404 || err.statusCode === 501) { + return []; + } + if (err.statusCode === 403) { + log.debug( + 'Connections Profile is not enabled for this tenant. Please verify `scope` or contact Auth0 support to enable this feature.' + ); + return []; + } + throw err; + } +}; + +export default class ConnectionProfilesHandler extends DefaultAPIHandler { + existing: ConnectionProfile[]; + + constructor(config: DefaultAPIHandler) { + super({ + ...config, + type: 'connectionProfiles', + id: 'id', + identifiers: ['id', 'name'], + functions: { + update: (args, data) => this.client.connectionProfiles.update(args?.id, data), + }, + }); + } + + objString(item): string { + return super.objString({ + name: item.name, + }); + } + + async getType(): Promise { + if (this.existing) return this.existing; + + this.existing = await getConnectionProfile(this.client); + return this.existing; + } + + async processChanges(assets: Assets): Promise { + const { connectionProfiles } = assets; + + // Do nothing if not set + if (!connectionProfiles) return; + + const { del, update, create, conflicts } = await this.calcChanges(assets); + + const changes = { + del: del, + update: update, + create: create, + conflicts: conflicts, + }; + + // Process using the default implementation + await super.processChanges(assets, { + ...changes, + }); + } +} diff --git a/src/tools/auth0/handlers/emailTemplates.ts b/src/tools/auth0/handlers/emailTemplates.ts index 0e1aa1e5a..b0e6a7d0e 100644 --- a/src/tools/auth0/handlers/emailTemplates.ts +++ b/src/tools/auth0/handlers/emailTemplates.ts @@ -27,6 +27,13 @@ export default class EmailTemplateHandler extends DefaultHandler { }); } + objString(item): string { + return super.objString({ + template: item.template, + enabled: item.enabled, + }); + } + async getType(): Promise { const emailTemplates = await Promise.all( constants.EMAIL_TEMPLATES_TYPES.map(async (templateName) => { diff --git a/src/tools/auth0/handlers/index.ts b/src/tools/auth0/handlers/index.ts index 82a10dda5..13d14b48c 100644 --- a/src/tools/auth0/handlers/index.ts +++ b/src/tools/auth0/handlers/index.ts @@ -34,6 +34,7 @@ import * as flowVaultConnections from './flowVaultConnections'; import * as selfServiceProfiles from './selfServiceProfiles'; import * as networkACLs from './networkACLs'; import * as userAttributeProfiles from './userAttributeProfiles'; +import * as connectionProfiles from './connectionProfiles'; import * as tokenExchangeProfiles from './tokenExchangeProfiles'; import { AssetTypes } from '../../../types'; @@ -77,6 +78,7 @@ const auth0ApiHandlers: { [key in AssetTypes]: any } = { selfServiceProfiles, networkACLs, userAttributeProfiles, + connectionProfiles, tokenExchangeProfiles, }; diff --git a/src/tools/auth0/handlers/prompts.ts b/src/tools/auth0/handlers/prompts.ts index 9ecc4a860..5c1f37b2e 100644 --- a/src/tools/auth0/handlers/prompts.ts +++ b/src/tools/auth0/handlers/prompts.ts @@ -348,18 +348,14 @@ export default class PromptsHandler extends DefaultHandler { partials, }; - const includeExperimentalEA = this.config('AUTH0_EXPERIMENTAL_EA') || false; - - if (includeExperimentalEA) { - try { - const screenRenderers = await paginate(this.client.prompts.rendering.list, { - paginate: true, - }); + try { + const screenRenderers = await paginate(this.client.prompts.rendering.list, { + paginate: true, + }); - prompts.screenRenderers = screenRenderers ?? []; - } catch (error) { - log.warn(`Unable to fetch screen renderers: ${error}`); - } + prompts.screenRenderers = screenRenderers ?? []; + } catch (error) { + log.warn(`Unable to fetch screen renderers: ${error}`); } return prompts; diff --git a/src/tools/auth0/handlers/resourceServers.ts b/src/tools/auth0/handlers/resourceServers.ts index e8ee2cd89..c8e588b92 100644 --- a/src/tools/auth0/handlers/resourceServers.ts +++ b/src/tools/auth0/handlers/resourceServers.ts @@ -93,13 +93,10 @@ export default class ResourceServersHandler extends DefaultHandler { ...options, type: 'resourceServers', identifiers: ['id', 'identifier'], - stripCreateFields: ['client_id'], - stripUpdateFields: ['identifier', 'client_id'], + stripCreateFields: ['client_id', 'is_system'], + stripUpdateFields: ['identifier', 'client_id', 'is_system'], functions: { - update: async ( - { id }: { id: string }, - bodyParams: Management.UpdateResourceServerRequestContent - ) => this.client.resourceServers.update(id, bodyParams), + update: (args, data) => this.updateResourceServer(args, data), }, }); } @@ -111,12 +108,43 @@ export default class ResourceServersHandler extends DefaultHandler { async getType(): Promise { if (this.existing) return this.existing; - const resourceServers = await paginate(this.client.resourceServers.list, { + let resourceServers = await paginate(this.client.resourceServers.list, { paginate: true, }); - return resourceServers.filter( + + resourceServers = resourceServers.filter( (rs) => rs.name !== constants.RESOURCE_SERVERS_MANAGEMENT_API_NAME ); + + // Sanitize resource servers fields + const sanitizeResourceServersFields = (rs: ResourceServer[]): ResourceServer[] => + rs.map((resourceServer: ResourceServer) => { + // For system resource servers like Auth0 My Account API, only allow certain fields to be updated + if (resourceServer.is_system === true) { + const allowedKeys = [ + 'token_lifetime', + 'proof_of_possession', + 'skip_consent_for_verifiable_first_party_clients', + 'name', + 'identifier', + 'id', + 'is_system', + ]; + const sanitized: any = {}; + allowedKeys.forEach((key) => { + if (key in resourceServer) { + sanitized[key] = resourceServer[key]; + } + }); + return sanitized; + } + + return resourceServer; + }); + + this.existing = sanitizeResourceServersFields(resourceServers); + + return this.existing; } async calcChanges(assets: Assets): Promise { @@ -178,4 +206,24 @@ export default class ResourceServersHandler extends DefaultHandler { ...changes, }); } + + async updateResourceServer( + args: { id: string }, + update: ResourceServer + ): Promise { + // Exclude name from update as it cannot be modified for system resource servers like Auth0 My Account API + if (update.is_system === true || update.name === 'Auth0 My Account API') { + const updateFields: Management.UpdateResourceServerRequestContent = { + token_lifetime: update.token_lifetime, + proof_of_possession: update.proof_of_possession, + skip_consent_for_verifiable_first_party_clients: + update.skip_consent_for_verifiable_first_party_clients, + subject_type_authorization: update.subject_type_authorization, + }; + + return this.client.resourceServers.update(args?.id, updateFields); + } + + return this.client.resourceServers.update(args?.id, update); + } } diff --git a/src/tools/auth0/handlers/selfServiceProfiles.ts b/src/tools/auth0/handlers/selfServiceProfiles.ts index 8ebabdc50..2866ac550 100644 --- a/src/tools/auth0/handlers/selfServiceProfiles.ts +++ b/src/tools/auth0/handlers/selfServiceProfiles.ts @@ -1,11 +1,11 @@ import { Management } from 'auth0'; import { isEmpty } from 'lodash'; -import { Asset, Assets, CalculatedChanges } from '../../../types'; +import { Asset, Assets, Auth0APIClient, CalculatedChanges } from '../../../types'; import log from '../../../logger'; import DefaultAPIHandler, { order } from './default'; import { calculateChanges } from '../../calculateChanges'; import { paginate } from '../client'; -import { UserAttributeProfile } from './userAttributeProfiles'; +import { getUserAttributeProfiles, UserAttributeProfile } from './userAttributeProfiles'; const SelfServiceProfileCustomTextLanguageEnum = { en: 'en', @@ -109,6 +109,12 @@ export default class SelfServiceProfileHandler extends DefaultAPIHandler { }); } + objString(item): string { + return super.objString({ + name: item.name, + }); + } + async getType() { if (this.existing) return this.existing; @@ -159,7 +165,10 @@ export default class SelfServiceProfileHandler extends DefaultAPIHandler { // Gets SsProfileWithCustomText from destination tenant const existing = await this.getType(); - const userAttributeProfiles = await this.getUserAttributeProfiles(selfServiceProfiles); + const userAttributeProfiles = await this.getUserAttributeProfiles( + this.client, + selfServiceProfiles + ); selfServiceProfiles = selfServiceProfiles.map((ssProfile) => { if (this.hasConflictingUserAttribute(ssProfile)) { @@ -334,6 +343,7 @@ export default class SelfServiceProfileHandler extends DefaultAPIHandler { } async getUserAttributeProfiles( + auth0Client: Auth0APIClient, selfServiceProfiles: SsProfileWithCustomText[] ): Promise { if ( @@ -341,9 +351,7 @@ export default class SelfServiceProfileHandler extends DefaultAPIHandler { (p) => p.user_attribute_profile_id && p.user_attribute_profile_id.trim() !== '' ) ) { - return paginate(this.client.userAttributeProfiles.list, { - checkpoint: true, - }); + return getUserAttributeProfiles(auth0Client); } return []; diff --git a/src/tools/auth0/handlers/tenant.ts b/src/tools/auth0/handlers/tenant.ts index 21e25728f..ec4912e91 100644 --- a/src/tools/auth0/handlers/tenant.ts +++ b/src/tools/auth0/handlers/tenant.ts @@ -96,6 +96,7 @@ export const allowedTenantFlags = [ 'disable_fields_map_fix', 'require_pushed_authorization_requests', 'mfa_show_factor_list_on_enrollment', + 'improved_signup_bot_detection_in_classic', ]; export const removeUnallowedTenantFlags = ( diff --git a/src/tools/auth0/handlers/userAttributeProfiles.ts b/src/tools/auth0/handlers/userAttributeProfiles.ts index cdf4611db..c37691ed4 100644 --- a/src/tools/auth0/handlers/userAttributeProfiles.ts +++ b/src/tools/auth0/handlers/userAttributeProfiles.ts @@ -1,7 +1,7 @@ import { Management } from 'auth0'; import DefaultAPIHandler, { order } from './default'; -import { Assets } from '../../../types'; +import { Assets, Auth0APIClient } from '../../../types'; import log from '../../../logger'; import { paginate } from '../client'; import { calculateChanges } from '../../calculateChanges'; @@ -195,6 +195,35 @@ export const schema = { }, }; +export const getUserAttributeProfiles = async ( + auth0Client: Auth0APIClient +): Promise => { + try { + const userAttributeProfiles = await paginate( + auth0Client.userAttributeProfiles.list, + { + checkpoint: true, + include_totals: true, + is_global: false, + take: 10, + } + ); + + return userAttributeProfiles; + } catch (err) { + if (err.statusCode === 404 || err.statusCode === 501) { + return []; + } + if (err.statusCode === 403) { + log.debug( + 'User Attribute Profile with Self-Service SSO is not enabled for this tenant. Please verify `scope` or contact Auth0 support to enable this feature.' + ); + return []; + } + throw err; + } +}; + export default class UserAttributeProfilesHandler extends DefaultAPIHandler { existing: UserAttributeProfile[]; @@ -215,27 +244,8 @@ export default class UserAttributeProfilesHandler extends DefaultAPIHandler { async getType() { if (this.existing) return this.existing; - try { - this.existing = await paginate(this.client.userAttributeProfiles.list, { - checkpoint: true, - include_totals: true, - is_global: false, - take: 10, - }); - - return this.existing; - } catch (err) { - if (err.statusCode === 404 || err.statusCode === 501) { - return null; - } - if (err.statusCode === 403) { - log.debug( - 'User Attribute Profile with Self-Service SSO is not enabled for this tenant. Please verify `scope` or contact Auth0 support to enable this feature.' - ); - return null; - } - throw err; - } + this.existing = await getUserAttributeProfiles(this.client); + return this.existing; } @order('50') diff --git a/src/tools/constants.ts b/src/tools/constants.ts index 1e68dc15a..bc80f9826 100644 --- a/src/tools/constants.ts +++ b/src/tools/constants.ts @@ -217,6 +217,7 @@ const constants = { SELF_SERVICE_PROFILE_DIRECTORY: 'self-service-profiles', NETWORK_ACLS_DIRECTORY: 'network-acls', USER_ATTRIBUTE_PROFILES_DIRECTORY: 'user-attribute-profiles', + CONNECTION_PROFILES_DIRECTORY: 'connection-profiles', TOKEN_EXCHANGE_PROFILES_DIRECTORY: 'token-exchange-profiles', }; diff --git a/src/types.ts b/src/types.ts index 76efbdfa2..61197d6d3 100644 --- a/src/types.ts +++ b/src/types.ts @@ -23,6 +23,7 @@ type SharedPaginationParams = { checkpoint?: boolean; paginate?: boolean; is_global?: boolean; + is_first_party?: boolean; include_totals?: boolean; id?: string; strategy?: Management.ConnectionStrategyEnum[]; @@ -60,6 +61,7 @@ export type Config = { AUTH0_INPUT_FILE: string; AUTH0_ALLOW_DELETE: boolean; AUTH0_EXCLUDED?: AssetTypes[]; + AUTH0_EXCLUDE_THIRD_PARTY_CLIENTS?: boolean; AUTH0_INCLUDED_ONLY?: AssetTypes[]; AUTH0_PRESERVE_KEYWORDS: boolean; EXTENSION_SECRET: string; @@ -143,6 +145,7 @@ export type Assets = Partial<{ networkACLs: NetworkACL[] | null; userAttributeProfiles: UserAttributeProfile[] | null; userAttributeProfilesWithId: UserAttributeProfile[] | null; + connectionProfiles: Asset[] | null; tokenExchangeProfiles: TokenExchangeProfile[] | null; }>; @@ -190,6 +193,7 @@ export type AssetTypes = | 'selfServiceProfiles' | 'networkACLs' | 'userAttributeProfiles' + | 'connectionProfiles' | 'tokenExchangeProfiles'; export type KeywordMappings = { [key: string]: (string | number)[] | string | number }; diff --git a/test/context/directory/clients.test.js b/test/context/directory/clients.test.js index 155383d05..4cc322857 100644 --- a/test/context/directory/clients.test.js +++ b/test/context/directory/clients.test.js @@ -17,7 +17,7 @@ describe('#directory context clients', () => { 'someClient2.json': '{ "app_type": "@@appType@@", "name": "someClient2" }', 'customLoginClient.json': '{ "app_type": "@@appType@@", "name": "customLoginClient", "custom_login_page": "./customLoginClient_custom_login_page.html", ' + - '"session_transfer": { "can_create_session_transfer_token": true,"enforce_device_binding": "ip", "allowed_authentication_methods" : "@@allowedMethods@@"} }', + '"session_transfer": { "can_create_session_transfer_token": true, "enforce_cascade_revocation": true, "enforce_device_binding": "ip", "allowed_authentication_methods" : "@@allowedMethods@@", "allow_refresh_token": true, "enforce_online_refresh_tokens": true} }', 'customLoginClient_custom_login_page.html': 'html code ##appType## @@appType@@', }, }; @@ -39,8 +39,11 @@ describe('#directory context clients', () => { custom_login_page: 'html code spa "spa"', session_transfer: { can_create_session_transfer_token: true, + enforce_cascade_revocation: true, enforce_device_binding: 'ip', allowed_authentication_methods: ['cookie', 'query'], + allow_refresh_token: true, + enforce_online_refresh_tokens: true, }, }, { app_type: 'spa', name: 'someClient' }, @@ -101,8 +104,11 @@ describe('#directory context clients', () => { custom_login_page: 'html code', session_transfer: { can_create_session_transfer_token: false, + enforce_cascade_revocation: false, enforce_device_binding: 'asn', allowed_authentication_methods: ['cookie'], + allow_refresh_token: false, + enforce_online_refresh_tokens: false, }, }, ]; @@ -113,8 +119,11 @@ describe('#directory context clients', () => { custom_login_page: './customLoginClient_custom_login_page.html', session_transfer: { can_create_session_transfer_token: false, + enforce_cascade_revocation: false, enforce_device_binding: 'asn', allowed_authentication_methods: ['cookie'], + allow_refresh_token: false, + enforce_online_refresh_tokens: false, }, }; @@ -221,4 +230,72 @@ describe('#directory context clients', () => { name: 'standardClient', }); }); + + it('should dump clients with express_configuration', async () => { + const dir = path.join(testDataDir, 'directory', 'clientsDumpExpress'); + cleanThenMkdir(dir); + const context = new Context({ AUTH0_INPUT_FILE: dir }, mockMgmtClient()); + + context.assets.clients = [ + { + name: 'someClient', + app_type: 'regular_web', + express_configuration: { + user_attribute_profile_id: 'uap_123', + connection_profile_id: 'cp_123', + okta_oin_client_id: 'client_123', + }, + }, + ]; + + context.assets.userAttributeProfiles = [{ id: 'uap_123', name: 'My User Attribute Profile' }]; + + context.assets.connectionProfiles = [{ id: 'cp_123', name: 'My Connection Profile' }]; + + // Mock clients for okta_oin_client_id lookup + // The dump method looks up in context.assets.clients + context.assets.clients.push({ + client_id: 'client_123', + name: 'My OIN Client', + }); + + await handler.dump(context); + + const dumpedClient = loadJSON(path.join(dir, 'clients', 'someClient.json')); + expect(dumpedClient).to.deep.equal({ + name: 'someClient', + app_type: 'regular_web', + express_configuration: { + user_attribute_profile_id: 'My User Attribute Profile', + connection_profile_id: 'My Connection Profile', + okta_oin_client_id: 'My OIN Client', + }, + }); + }); + + it('should dump clients with app_type express_configuration and filter fields', async () => { + const dir = path.join(testDataDir, 'directory', 'clientsDumpExpressAppType'); + cleanThenMkdir(dir); + const context = new Context({ AUTH0_INPUT_FILE: dir }, mockMgmtClient()); + + context.assets.clients = [ + { + name: 'someExpressClient', + app_type: 'express_configuration', + client_authentication_methods: {}, + organization_require_behavior: 'no_prompt', + some_other_field: 'should be removed', + }, + ]; + + await handler.dump(context); + + const dumpedClient = loadJSON(path.join(dir, 'clients', 'someExpressClient.json')); + expect(dumpedClient).to.deep.equal({ + name: 'someExpressClient', + app_type: 'express_configuration', + client_authentication_methods: {}, + organization_require_behavior: 'no_prompt', + }); + }); }); diff --git a/test/context/directory/connectionProfiles.test.js b/test/context/directory/connectionProfiles.test.js new file mode 100644 index 000000000..60a59f33a --- /dev/null +++ b/test/context/directory/connectionProfiles.test.js @@ -0,0 +1,50 @@ +import path from 'path'; +import { expect } from 'chai'; +import { constants } from '../../../src/tools'; +import Context from '../../../src/context/directory'; +import handler from '../../../src/context/directory/handlers/connectionProfiles'; +import { loadJSON } from '../../../src/utils'; +import { cleanThenMkdir, testDataDir, createDir, mockMgmtClient } from '../../utils'; + +describe('#directory context connectionProfiles', () => { + it('should process connectionProfiles', async () => { + const files = { + [constants.CONNECTION_PROFILES_DIRECTORY]: { + 'someProfile.json': '{ "name": "someProfile", "enabled_features": ["scim"] }', + }, + }; + + const repoDir = path.join(testDataDir, 'directory', 'connectionProfiles1'); + createDir(repoDir, files); + + const config = { + AUTH0_INPUT_FILE: repoDir, + }; + const context = new Context(config, mockMgmtClient()); + await context.loadAssetsFromLocal(); + + const target = [ + { + name: 'someProfile', + enabled_features: ['scim'], + }, + ]; + expect(context.assets.connectionProfiles).to.deep.equal(target); + }); + + it('should dump connectionProfiles', async () => { + const dir = path.join(testDataDir, 'directory', 'connectionProfilesDump'); + cleanThenMkdir(dir); + const context = new Context({ AUTH0_INPUT_FILE: dir }, mockMgmtClient()); + + context.assets.connectionProfiles = [{ name: 'someProfile', enabled_features: ['scim'] }]; + + await handler.dump(context); + const profileFolder = path.join(dir, constants.CONNECTION_PROFILES_DIRECTORY); + + expect(loadJSON(path.join(profileFolder, 'someProfile.json'))).to.deep.equal({ + name: 'someProfile', + enabled_features: ['scim'], + }); + }); +}); diff --git a/test/context/yaml/clients.test.js b/test/context/yaml/clients.test.js index 250993d60..b42ec82fa 100644 --- a/test/context/yaml/clients.test.js +++ b/test/context/yaml/clients.test.js @@ -25,8 +25,11 @@ describe('#YAML context clients', () => { custom_login_page: "./customLoginClient_custom_login_page.html" session_transfer: { can_create_session_transfer_token: false, + enforce_cascade_revocation: false, enforce_device_binding: 'none', - allowed_authentication_methods: ['query'] + allowed_authentication_methods: ['query'], + allow_refresh_token: false, + enforce_online_refresh_tokens: false } `; @@ -39,8 +42,11 @@ describe('#YAML context clients', () => { custom_login_page: 'html code spa "spa"', session_transfer: { can_create_session_transfer_token: false, + enforce_cascade_revocation: false, enforce_device_binding: 'none', allowed_authentication_methods: ['query'], + allow_refresh_token: false, + enforce_online_refresh_tokens: false, }, }, ]; @@ -80,8 +86,11 @@ describe('#YAML context clients', () => { custom_login_page: 'html code', session_transfer: { can_create_session_transfer_token: false, + enforce_cascade_revocation: false, enforce_device_binding: 'none', allowed_authentication_methods: ['cookie', 'query'], + allow_refresh_token: false, + enforce_online_refresh_tokens: false, }, }, ]; @@ -94,8 +103,11 @@ describe('#YAML context clients', () => { custom_login_page: './customLoginClient_custom_login_page.html', session_transfer: { can_create_session_transfer_token: false, + enforce_cascade_revocation: false, enforce_device_binding: 'none', allowed_authentication_methods: ['cookie', 'query'], + allow_refresh_token: false, + enforce_online_refresh_tokens: false, }, }, ]; @@ -192,6 +204,65 @@ describe('#YAML context clients', () => { expect(dumped).to.deep.equal({ clients: target }); }); + it('should dump clients with express_configuration', async () => { + const context = new Context({ AUTH0_INPUT_FILE: './test.yml' }, mockMgmtClient()); + + context.assets.clients = [ + { + name: 'someClient', + app_type: 'regular_web', + express_configuration: { + user_attribute_profile_id: 'uap_123', + connection_profile_id: 'cp_123', + okta_oin_client_id: 'client_123', + }, + }, + { + client_id: 'client_123', + name: 'My OIN Client', + }, + ]; + + context.assets.userAttributeProfiles = [{ id: 'uap_123', name: 'My User Attribute Profile' }]; + + context.assets.connectionProfiles = [{ id: 'cp_123', name: 'My Connection Profile' }]; + + const dumped = await handler.dump(context); + + expect(dumped.clients[0]).to.deep.equal({ + name: 'someClient', + app_type: 'regular_web', + express_configuration: { + user_attribute_profile_id: 'My User Attribute Profile', + connection_profile_id: 'My Connection Profile', + okta_oin_client_id: 'My OIN Client', + }, + }); + }); + + it('should dump clients with app_type express_configuration and filter fields', async () => { + const context = new Context({ AUTH0_INPUT_FILE: './test.yml' }, mockMgmtClient()); + + context.assets.clients = [ + { + name: 'someExpressClient', + app_type: 'express_configuration', + client_authentication_methods: {}, + organization_require_behavior: 'no_prompt', + some_other_field: 'should be removed', + }, + ]; + + const dumped = await handler.dump(context); + + expect(dumped.clients[0]).to.deep.equal({ + name: 'someExpressClient', + app_type: 'express_configuration', + client_authentication_methods: {}, + organization_require_behavior: 'no_prompt', + }); + }); + it('should process clients with token_exchange', async () => { const dir = path.join(testDataDir, 'yaml', 'clientsWithTokenExchange'); cleanThenMkdir(dir); diff --git a/test/context/yaml/connectionProfiles.test.js b/test/context/yaml/connectionProfiles.test.js new file mode 100644 index 000000000..a11808850 --- /dev/null +++ b/test/context/yaml/connectionProfiles.test.js @@ -0,0 +1,46 @@ +import path from 'path'; +import fs from 'fs-extra'; +import { expect } from 'chai'; +import Context from '../../../src/context/yaml'; +import handler from '../../../src/context/yaml/handlers/connectionProfiles'; +import { cleanThenMkdir, testDataDir, mockMgmtClient } from '../../utils'; + +describe('#YAML context connectionProfiles', () => { + it('should process connectionProfiles', async () => { + const dir = path.join(testDataDir, 'yaml', 'connectionProfiles'); + cleanThenMkdir(dir); + + const yaml = ` + connectionProfiles: + - name: "someProfile" + enabled_features: + - scim + `; + const yamlFile = path.join(dir, 'tenant.yaml'); + fs.writeFileSync(yamlFile, yaml); + + const config = { AUTH0_INPUT_FILE: yamlFile }; + const context = new Context(config, mockMgmtClient()); + await context.loadAssetsFromLocal(); + + const target = [ + { + name: 'someProfile', + enabled_features: ['scim'], + }, + ]; + expect(context.assets.connectionProfiles).to.deep.equal(target); + }); + + it('should dump connectionProfiles', async () => { + const context = new Context({ AUTH0_INPUT_FILE: './test.yaml' }, mockMgmtClient()); + context.assets.connectionProfiles = [ + { name: 'someProfile', enabled_features: ['scim'], id: 'cp_123' }, + ]; + + const dumped = await handler.dump(context); + expect(dumped).to.deep.equal({ + connectionProfiles: [{ name: 'someProfile', enabled_features: ['scim'] }], + }); + }); +}); diff --git a/test/context/yaml/context.test.js b/test/context/yaml/context.test.js index 49574f8c3..e98f07a59 100644 --- a/test/context/yaml/context.test.js +++ b/test/context/yaml/context.test.js @@ -289,6 +289,7 @@ describe('#YAML context validation', () => { ], }, ], + connectionProfiles: [], tenant: { default_directory: 'users', friendly_name: 'Test', @@ -303,6 +304,7 @@ describe('#YAML context validation', () => { prompts: { customText: {}, partials: {}, + screenRenderers: [], }, customDomains: [], themes: [], @@ -419,6 +421,7 @@ describe('#YAML context validation', () => { ], }, ], + connectionProfiles: [], tenant: { default_directory: 'users', friendly_name: 'Test', @@ -433,6 +436,7 @@ describe('#YAML context validation', () => { prompts: { customText: {}, partials: {}, + screenRenderers: [], }, customDomains: [], themes: [], @@ -550,6 +554,7 @@ describe('#YAML context validation', () => { ], }, ], + connectionProfiles: [], tenant: { default_directory: 'users', friendly_name: 'Test', @@ -563,6 +568,7 @@ describe('#YAML context validation', () => { prompts: { customText: {}, partials: {}, + screenRenderers: [], }, logStreams: [], customDomains: [], diff --git a/test/e2e/recordings/should-deploy-while-deleting-resources-if-AUTH0_ALLOW_DELETE-is-true.json b/test/e2e/recordings/should-deploy-while-deleting-resources-if-AUTH0_ALLOW_DELETE-is-true.json index 587952b5a..036acfabd 100644 --- a/test/e2e/recordings/should-deploy-while-deleting-resources-if-AUTH0_ALLOW_DELETE-is-true.json +++ b/test/e2e/recordings/should-deploy-while-deleting-resources-if-AUTH0_ALLOW_DELETE-is-true.json @@ -1303,7 +1303,7 @@ "subject": "deprecated" } ], - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1327,7 +1327,6 @@ "allowed_clients": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -1349,6 +1348,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -1356,7 +1356,7 @@ "subject": "deprecated" } ], - "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", + "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1376,12 +1376,20 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -1394,6 +1402,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -1401,7 +1410,8 @@ "subject": "deprecated" } ], - "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", + "allowed_origins": [], + "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1409,32 +1419,27 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" }, + "is_first_party": true, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -1447,6 +1452,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -1454,8 +1460,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1463,16 +1468,11 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { @@ -1480,7 +1480,6 @@ "global": false, "is_token_endpoint_ip_header_trusted": false, "name": "Terraform Provider", - "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -1494,6 +1493,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -1501,7 +1501,7 @@ "subject": "deprecated" } ], - "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", + "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1520,11 +1520,15 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -1534,19 +1538,19 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -1554,7 +1558,7 @@ "subject": "deprecated" } ], - "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", + "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1563,12 +1567,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -1576,16 +1583,10 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -1595,18 +1596,20 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -1614,7 +1617,7 @@ "subject": "deprecated" } ], - "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", + "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1623,15 +1626,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -1643,7 +1643,6 @@ "allowed_clients": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -1665,6 +1664,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -1672,7 +1672,7 @@ "subject": "deprecated" } ], - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1696,7 +1696,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "path": "/api/v2/clients/u6litSM0kteNcq1warh1NdRpv0MJYaWa", "body": "", "status": 204, "response": "", @@ -1706,17 +1706,21 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", + "path": "/api/v2/clients/ACWycjOpjEbMgfnrWVhep13mHhazsUyf", "body": { - "name": "API Explorer Application", + "name": "Node App", "allowed_clients": [], - "app_type": "non_interactive", + "allowed_logout_urls": [], + "allowed_origins": [], + "app_type": "regular_web", "callbacks": [], "client_aliases": [], "client_metadata": {}, - "cross_origin_auth": false, "custom_login_page_on": true, "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], "is_first_party": true, @@ -1744,18 +1748,20 @@ "rotation_type": "non-rotating" }, "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post" + "token_endpoint_auth_method": "client_secret_post", + "web_origins": [], + "cross_origin_authentication": false }, "status": 200, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", + "name": "Node App", "allowed_clients": [], + "allowed_logout_urls": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -1777,6 +1783,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -1784,7 +1791,8 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", + "allowed_origins": [], + "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1794,10 +1802,14 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, "rawHeaders": [], @@ -1806,14 +1818,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", + "path": "/api/v2/clients/rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", "body": { "name": "Quickstarts API (Test Application)", "app_type": "non_interactive", "client_metadata": { "foo": "bar" }, - "cross_origin_auth": false, "custom_login_page_on": true, "grant_types": [ "client_credentials" @@ -1835,7 +1846,8 @@ "rotation_type": "non-rotating" }, "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post" + "token_endpoint_auth_method": "client_secret_post", + "cross_origin_authentication": false }, "status": 200, "response": { @@ -1846,7 +1858,6 @@ "client_metadata": { "foo": "bar" }, - "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -1860,6 +1871,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -1867,7 +1879,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", + "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1888,22 +1900,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "path": "/api/v2/clients/Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", "body": { - "name": "Node App", + "name": "API Explorer Application", "allowed_clients": [], - "allowed_logout_urls": [], - "allowed_origins": [], - "app_type": "regular_web", + "app_type": "non_interactive", "callbacks": [], "client_aliases": [], "client_metadata": {}, - "cross_origin_auth": false, "custom_login_page_on": true, "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], "is_first_party": true, @@ -1932,19 +1938,17 @@ }, "sso_disabled": false, "token_endpoint_auth_method": "client_secret_post", - "web_origins": [] + "cross_origin_authentication": false }, "status": 200, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", + "name": "API Explorer Application", "allowed_clients": [], - "allowed_logout_urls": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -1966,6 +1970,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -1973,8 +1978,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "allowed_origins": [], - "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1984,14 +1988,10 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, "rawHeaders": [], @@ -2000,11 +2000,10 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", + "path": "/api/v2/clients/ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", "body": { "name": "Terraform Provider", "app_type": "non_interactive", - "cross_origin_auth": false, "custom_login_page_on": true, "grant_types": [ "client_credentials" @@ -2026,7 +2025,8 @@ "rotation_type": "non-rotating" }, "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post" + "token_endpoint_auth_method": "client_secret_post", + "cross_origin_authentication": false }, "status": 200, "response": { @@ -2034,7 +2034,6 @@ "global": false, "is_token_endpoint_ip_header_trusted": false, "name": "Terraform Provider", - "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -2048,6 +2047,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -2055,7 +2055,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", + "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2076,14 +2076,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", + "path": "/api/v2/clients/1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", "body": { "name": "The Default App", "allowed_clients": [], "callbacks": [], "client_aliases": [], "client_metadata": {}, - "cross_origin_auth": false, "custom_login_page_on": true, "grant_types": [ "authorization_code", @@ -2117,7 +2116,8 @@ }, "sso": false, "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post" + "token_endpoint_auth_method": "client_secret_post", + "cross_origin_authentication": false }, "status": 200, "response": { @@ -2128,7 +2128,6 @@ "allowed_clients": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -2151,6 +2150,7 @@ "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -2158,7 +2158,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", + "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2182,7 +2182,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", + "path": "/api/v2/clients/rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", "body": { "name": "Test SPA", "allowed_clients": [], @@ -2195,7 +2195,6 @@ ], "client_aliases": [], "client_metadata": {}, - "cross_origin_auth": false, "custom_login_page_on": true, "grant_types": [ "authorization_code", @@ -2230,7 +2229,8 @@ "token_endpoint_auth_method": "none", "web_origins": [ "http://localhost:3000" - ] + ], + "cross_origin_authentication": false }, "status": 200, "response": { @@ -2246,7 +2246,6 @@ "http://localhost:3000" ], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -2268,6 +2267,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -2275,7 +2275,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", + "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2302,7 +2302,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "path": "/api/v2/clients/B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", "body": { "name": "auth0-deploy-cli-extension", "allowed_clients": [], @@ -2310,7 +2310,6 @@ "callbacks": [], "client_aliases": [], "client_metadata": {}, - "cross_origin_auth": false, "custom_login_page_on": true, "grant_types": [ "client_credentials" @@ -2340,7 +2339,8 @@ "rotation_type": "non-rotating" }, "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post" + "token_endpoint_auth_method": "client_secret_post", + "cross_origin_authentication": false }, "status": 200, "response": { @@ -2351,7 +2351,6 @@ "allowed_clients": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -2373,6 +2372,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -2380,7 +2380,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2402,7 +2402,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/duo", + "path": "/api/v2/guardian/factors/otp", "body": { "enabled": false }, @@ -2416,7 +2416,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/email", + "path": "/api/v2/guardian/factors/duo", "body": { "enabled": false }, @@ -2430,7 +2430,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/otp", + "path": "/api/v2/guardian/factors/email", "body": { "enabled": false }, @@ -2444,7 +2444,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/recovery-code", + "path": "/api/v2/guardian/factors/sms", "body": { "enabled": false }, @@ -2458,13 +2458,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/push-notification", + "path": "/api/v2/guardian/factors/webauthn-roaming", "body": { - "enabled": true + "enabled": false }, "status": 200, "response": { - "enabled": true + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -2472,13 +2472,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-platform", + "path": "/api/v2/guardian/factors/push-notification", "body": { - "enabled": false + "enabled": true }, "status": 200, "response": { - "enabled": false + "enabled": true }, "rawHeaders": [], "responseIsBinary": false @@ -2486,7 +2486,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/webauthn-platform", "body": { "enabled": false }, @@ -2500,7 +2500,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", + "path": "/api/v2/guardian/factors/recovery-code", "body": { "enabled": false }, @@ -2578,7 +2578,7 @@ "response": { "actions": [ { - "id": "40d899f3-a209-42a2-a3ed-39e764dcbc33", + "id": "2b25f34b-cc41-4b78-8eb0-861be0f30f1d", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -2586,34 +2586,34 @@ "version": "v1" } ], - "created_at": "2025-12-11T11:30:13.629492200Z", - "updated_at": "2025-12-16T05:15:01.577210494Z", + "created_at": "2025-12-16T08:57:07.885769307Z", + "updated_at": "2025-12-16T08:58:22.911650706Z", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], "runtime": "node22", "status": "built", "secrets": [], "current_version": { - "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", + "id": "77a70d48-694c-4055-becb-b10b99ee73f4", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "runtime": "node22", "status": "BUILT", - "number": 5, - "build_time": "2025-12-16T05:15:03.730905338Z", - "created_at": "2025-12-16T05:15:03.656132145Z", - "updated_at": "2025-12-16T05:15:03.732003986Z" + "number": 2, + "build_time": "2025-12-16T08:58:23.733386236Z", + "created_at": "2025-12-16T08:58:23.642622798Z", + "updated_at": "2025-12-16T08:58:23.734859050Z" }, "deployed_version": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", + "id": "77a70d48-694c-4055-becb-b10b99ee73f4", "deployed": true, - "number": 5, - "built_at": "2025-12-16T05:15:03.730905338Z", + "number": 2, + "built_at": "2025-12-16T08:58:23.733386236Z", "secrets": [], "status": "built", - "created_at": "2025-12-16T05:15:03.656132145Z", - "updated_at": "2025-12-16T05:15:03.732003986Z", + "created_at": "2025-12-16T08:58:23.642622798Z", + "updated_at": "2025-12-16T08:58:23.734859050Z", "runtime": "node22", "supported_triggers": [ { @@ -2625,7 +2625,7 @@ "all_changes_deployed": true }, { - "id": "e69869b2-169a-4df9-9326-4447818092f6", + "id": "13228a5d-a06b-4e51-89aa-45b56efde856", "name": "My Custom Action", "supported_triggers": [ { @@ -2633,34 +2633,34 @@ "version": "v2" } ], - "created_at": "2025-12-16T05:17:04.860907359Z", - "updated_at": "2025-12-16T05:17:04.867817351Z", + "created_at": "2025-12-16T08:59:08.956810259Z", + "updated_at": "2025-12-16T08:59:08.967618945Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "built", "secrets": [], "current_version": { - "id": "a4d7af33-adee-49de-9898-744df792436e", + "id": "22e4811c-46a6-4d67-8fb0-ad94a4289752", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node18", "status": "BUILT", "number": 1, - "build_time": "2025-12-16T05:17:06.111365724Z", - "created_at": "2025-12-16T05:17:06.028561552Z", - "updated_at": "2025-12-16T05:17:06.112541842Z" + "build_time": "2025-12-16T08:59:09.806979854Z", + "created_at": "2025-12-16T08:59:09.734430679Z", + "updated_at": "2025-12-16T08:59:09.808139988Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "a4d7af33-adee-49de-9898-744df792436e", + "id": "22e4811c-46a6-4d67-8fb0-ad94a4289752", "deployed": true, "number": 1, - "built_at": "2025-12-16T05:17:06.111365724Z", + "built_at": "2025-12-16T08:59:09.806979854Z", "secrets": [], "status": "built", - "created_at": "2025-12-16T05:17:06.028561552Z", - "updated_at": "2025-12-16T05:17:06.112541842Z", + "created_at": "2025-12-16T08:59:09.734430679Z", + "updated_at": "2025-12-16T08:59:09.808139988Z", "runtime": "node18", "supported_triggers": [ { @@ -2681,7 +2681,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/actions/actions/40d899f3-a209-42a2-a3ed-39e764dcbc33?force=true", + "path": "/api/v2/actions/actions/2b25f34b-cc41-4b78-8eb0-861be0f30f1d?force=true", "body": "", "status": 204, "response": "", @@ -2691,7 +2691,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/actions/actions/e69869b2-169a-4df9-9326-4447818092f6", + "path": "/api/v2/actions/actions/13228a5d-a06b-4e51-89aa-45b56efde856", "body": { "name": "My Custom Action", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", @@ -2707,7 +2707,7 @@ }, "status": 200, "response": { - "id": "e69869b2-169a-4df9-9326-4447818092f6", + "id": "13228a5d-a06b-4e51-89aa-45b56efde856", "name": "My Custom Action", "supported_triggers": [ { @@ -2715,34 +2715,34 @@ "version": "v2" } ], - "created_at": "2025-12-16T05:17:04.860907359Z", - "updated_at": "2025-12-16T05:20:09.154927185Z", + "created_at": "2025-12-16T08:59:08.956810259Z", + "updated_at": "2025-12-16T09:01:53.371586083Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "pending", "secrets": [], "current_version": { - "id": "a4d7af33-adee-49de-9898-744df792436e", + "id": "22e4811c-46a6-4d67-8fb0-ad94a4289752", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node18", "status": "BUILT", "number": 1, - "build_time": "2025-12-16T05:17:06.111365724Z", - "created_at": "2025-12-16T05:17:06.028561552Z", - "updated_at": "2025-12-16T05:17:06.112541842Z" + "build_time": "2025-12-16T08:59:09.806979854Z", + "created_at": "2025-12-16T08:59:09.734430679Z", + "updated_at": "2025-12-16T08:59:09.808139988Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "a4d7af33-adee-49de-9898-744df792436e", + "id": "22e4811c-46a6-4d67-8fb0-ad94a4289752", "deployed": true, "number": 1, - "built_at": "2025-12-16T05:17:06.111365724Z", + "built_at": "2025-12-16T08:59:09.806979854Z", "secrets": [], "status": "built", - "created_at": "2025-12-16T05:17:06.028561552Z", - "updated_at": "2025-12-16T05:17:06.112541842Z", + "created_at": "2025-12-16T08:59:09.734430679Z", + "updated_at": "2025-12-16T08:59:09.808139988Z", "runtime": "node18", "supported_triggers": [ { @@ -2765,7 +2765,7 @@ "response": { "actions": [ { - "id": "e69869b2-169a-4df9-9326-4447818092f6", + "id": "13228a5d-a06b-4e51-89aa-45b56efde856", "name": "My Custom Action", "supported_triggers": [ { @@ -2773,34 +2773,34 @@ "version": "v2" } ], - "created_at": "2025-12-16T05:17:04.860907359Z", - "updated_at": "2025-12-16T05:20:09.154927185Z", + "created_at": "2025-12-16T08:59:08.956810259Z", + "updated_at": "2025-12-16T09:01:53.371586083Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "built", "secrets": [], "current_version": { - "id": "a4d7af33-adee-49de-9898-744df792436e", + "id": "22e4811c-46a6-4d67-8fb0-ad94a4289752", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node18", "status": "BUILT", "number": 1, - "build_time": "2025-12-16T05:17:06.111365724Z", - "created_at": "2025-12-16T05:17:06.028561552Z", - "updated_at": "2025-12-16T05:17:06.112541842Z" + "build_time": "2025-12-16T08:59:09.806979854Z", + "created_at": "2025-12-16T08:59:09.734430679Z", + "updated_at": "2025-12-16T08:59:09.808139988Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "a4d7af33-adee-49de-9898-744df792436e", + "id": "22e4811c-46a6-4d67-8fb0-ad94a4289752", "deployed": true, "number": 1, - "built_at": "2025-12-16T05:17:06.111365724Z", + "built_at": "2025-12-16T08:59:09.806979854Z", "secrets": [], "status": "built", - "created_at": "2025-12-16T05:17:06.028561552Z", - "updated_at": "2025-12-16T05:17:06.112541842Z", + "created_at": "2025-12-16T08:59:09.734430679Z", + "updated_at": "2025-12-16T08:59:09.808139988Z", "runtime": "node18", "supported_triggers": [ { @@ -2821,19 +2821,19 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "POST", - "path": "/api/v2/actions/actions/e69869b2-169a-4df9-9326-4447818092f6/deploy", + "path": "/api/v2/actions/actions/13228a5d-a06b-4e51-89aa-45b56efde856/deploy", "body": "", "status": 200, "response": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "78436207-c740-47e3-a519-47ab002e567e", + "id": "a3a41c63-9269-4717-94ec-49f71afe50ee", "deployed": false, "number": 2, "secrets": [], "status": "built", - "created_at": "2025-12-16T05:20:10.155336728Z", - "updated_at": "2025-12-16T05:20:10.155336728Z", + "created_at": "2025-12-16T09:01:54.068008779Z", + "updated_at": "2025-12-16T09:01:54.068008779Z", "runtime": "node18", "supported_triggers": [ { @@ -2842,7 +2842,7 @@ } ], "action": { - "id": "e69869b2-169a-4df9-9326-4447818092f6", + "id": "13228a5d-a06b-4e51-89aa-45b56efde856", "name": "My Custom Action", "supported_triggers": [ { @@ -2850,14 +2850,42 @@ "version": "v2" } ], - "created_at": "2025-12-16T05:17:04.860907359Z", - "updated_at": "2025-12-16T05:20:09.146613571Z", + "created_at": "2025-12-16T08:59:08.956810259Z", + "updated_at": "2025-12-16T09:01:53.363954890Z", "all_changes_deployed": false } }, "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/brute-force-protection", + "body": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 66 + }, + "status": 200, + "response": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 66 + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -2889,39 +2917,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/attack-protection/brute-force-protection", + "path": "/api/v2/attack-protection/suspicious-ip-throttling", "body": { "enabled": true, "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 66 - }, - "status": 200, - "response": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 66 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/suspicious-ip-throttling", - "body": { - "enabled": true, - "shields": [ - "admin_notification" + "admin_notification" ], "allowlist": [ "127.0.0.1" @@ -2991,7 +2991,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-16T05:17:08.381Z", + "updated_at": "2025-12-16T08:59:10.887Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] @@ -3036,7 +3036,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-16T05:20:12.065Z", + "updated_at": "2025-12-16T09:01:55.451Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" }, "rawHeaders": [], @@ -3100,9 +3100,9 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/user-attribute-profiles/uap_1csDj3sAVu6n5eTzLw6XZg", + "path": "/api/v2/user-attribute-profiles/uap_1csDj3szFsgxGS1oTZTdFm", "body": { - "name": "test-user-attribute-profile", + "name": "test-user-attribute-profile-2", "user_attributes": { "email": { "description": "Email of the User", @@ -3118,8 +3118,8 @@ }, "status": 200, "response": { - "id": "uap_1csDj3sAVu6n5eTzLw6XZg", - "name": "test-user-attribute-profile", + "id": "uap_1csDj3szFsgxGS1oTZTdFm", + "name": "test-user-attribute-profile-2", "user_id": { "oidc_mapping": "sub", "saml_mapping": [ @@ -3144,9 +3144,9 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/user-attribute-profiles/uap_1csDj3szFsgxGS1oTZTdFm", + "path": "/api/v2/user-attribute-profiles/uap_1csDj3sAVu6n5eTzLw6XZg", "body": { - "name": "test-user-attribute-profile-2", + "name": "test-user-attribute-profile", "user_attributes": { "email": { "description": "Email of the User", @@ -3162,8 +3162,8 @@ }, "status": 200, "response": { - "id": "uap_1csDj3szFsgxGS1oTZTdFm", - "name": "test-user-attribute-profile-2", + "id": "uap_1csDj3sAVu6n5eTzLw6XZg", + "name": "test-user-attribute-profile", "user_id": { "oidc_mapping": "sub", "saml_mapping": [ @@ -3259,7 +3259,6 @@ "allowed_clients": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -3281,6 +3280,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -3288,7 +3288,7 @@ "subject": "deprecated" } ], - "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", + "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3308,12 +3308,20 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -3326,6 +3334,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -3333,7 +3342,8 @@ "subject": "deprecated" } ], - "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", + "allowed_origins": [], + "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3341,32 +3351,27 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" }, + "is_first_party": true, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -3379,6 +3384,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -3386,8 +3392,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3395,16 +3400,11 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { @@ -3412,7 +3412,6 @@ "global": false, "is_token_endpoint_ip_header_trusted": false, "name": "Terraform Provider", - "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -3426,6 +3425,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -3433,7 +3433,7 @@ "subject": "deprecated" } ], - "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", + "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3452,11 +3452,15 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -3466,19 +3470,19 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -3486,7 +3490,7 @@ "subject": "deprecated" } ], - "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", + "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3495,12 +3499,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -3508,16 +3515,10 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -3527,18 +3528,20 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -3546,7 +3549,7 @@ "subject": "deprecated" } ], - "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", + "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3555,15 +3558,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -3575,7 +3575,6 @@ "allowed_clients": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -3597,6 +3596,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -3604,7 +3604,7 @@ "subject": "deprecated" } ], - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3671,7 +3671,7 @@ "response": { "connections": [ { - "id": "con_5m5GpC2yhTh0g4cn", + "id": "con_cls5o7ko4UNCAbi5", "options": { "mfa": { "active": true, @@ -3734,12 +3734,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", - "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" ] }, { - "id": "con_4jeiJ5EmqMspBjmK", + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -3793,7 +3793,7 @@ "response": { "connections": [ { - "id": "con_5m5GpC2yhTh0g4cn", + "id": "con_cls5o7ko4UNCAbi5", "options": { "mfa": { "active": true, @@ -3856,12 +3856,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", - "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" ] }, { - "id": "con_4jeiJ5EmqMspBjmK", + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -3909,7 +3909,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK/clients?take=50", + "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients?take=50", "body": "", "status": 200, "response": { @@ -3925,16 +3925,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_5m5GpC2yhTh0g4cn/clients?take=50", + "path": "/api/v2/connections/con_cls5o7ko4UNCAbi5/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW" + "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf" }, { - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" } ] }, @@ -3944,7 +3944,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK/clients?take=50", + "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients?take=50", "body": "", "status": 200, "response": { @@ -3960,16 +3960,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_5m5GpC2yhTh0g4cn/clients?take=50", + "path": "/api/v2/connections/con_cls5o7ko4UNCAbi5/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW" + "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf" }, { - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" } ] }, @@ -3979,11 +3979,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK", + "path": "/api/v2/connections/con_itdctyRSC3HQmlX0", "body": "", "status": 202, "response": { - "deleted_at": "2025-12-16T05:20:16.732Z" + "deleted_at": "2025-12-16T09:01:58.981Z" }, "rawHeaders": [], "responseIsBinary": false @@ -3991,11 +3991,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_5m5GpC2yhTh0g4cn", + "path": "/api/v2/connections/con_cls5o7ko4UNCAbi5", "body": "", "status": 200, "response": { - "id": "con_5m5GpC2yhTh0g4cn", + "id": "con_cls5o7ko4UNCAbi5", "options": { "mfa": { "active": true, @@ -4055,8 +4055,8 @@ "active": false }, "enabled_clients": [ - "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", - "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" ], "realms": [ "boo-baz-db-connection-test" @@ -4068,11 +4068,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_5m5GpC2yhTh0g4cn", + "path": "/api/v2/connections/con_cls5o7ko4UNCAbi5", "body": { "enabled_clients": [ - "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", - "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" ], "is_domain_connection": false, "options": { @@ -4130,7 +4130,7 @@ }, "status": 200, "response": { - "id": "con_5m5GpC2yhTh0g4cn", + "id": "con_cls5o7ko4UNCAbi5", "options": { "mfa": { "active": true, @@ -4190,8 +4190,8 @@ "active": false }, "enabled_clients": [ - "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", - "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" ], "realms": [ "boo-baz-db-connection-test" @@ -4203,14 +4203,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_5m5GpC2yhTh0g4cn/clients", + "path": "/api/v2/connections/con_cls5o7ko4UNCAbi5/clients", "body": [ { - "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", "status": true }, { - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", "status": true } ], @@ -4293,7 +4293,6 @@ "allowed_clients": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -4315,51 +4314,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -4367,7 +4322,7 @@ "subject": "deprecated" } ], - "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", + "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4375,6 +4330,7 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", "app_type": "non_interactive", "grant_types": [ @@ -4391,7 +4347,6 @@ "allowed_logout_urls": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -4413,6 +4368,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -4421,7 +4377,7 @@ } ], "allowed_origins": [], - "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4445,8 +4401,10 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", - "cross_origin_auth": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -4460,6 +4418,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -4467,7 +4426,7 @@ "subject": "deprecated" } ], - "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", + "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4486,33 +4445,21 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, + "name": "Terraform Provider", "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -4520,7 +4467,7 @@ "subject": "deprecated" } ], - "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", + "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4528,12 +4475,9 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -4551,7 +4495,6 @@ "http://localhost:3000" ], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -4573,6 +4516,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -4580,7 +4524,7 @@ "subject": "deprecated" } ], - "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", + "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4605,11 +4549,10 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", + "name": "The Default App", "allowed_clients": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -4619,18 +4562,20 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -4638,7 +4583,62 @@ "subject": "deprecated" } ], - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4705,7 +4705,7 @@ "response": { "connections": [ { - "id": "con_5m5GpC2yhTh0g4cn", + "id": "con_cls5o7ko4UNCAbi5", "options": { "mfa": { "active": true, @@ -4768,12 +4768,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", - "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" ] }, { - "id": "con_ZxRMPXT6qTFWMFqC", + "id": "con_mNzsGFqGTiRm8ck6", "options": { "email": true, "scope": [ @@ -4795,8 +4795,8 @@ "google-oauth2" ], "enabled_clients": [ - "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", - "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH" + "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" ] } ] @@ -4813,7 +4813,7 @@ "response": { "connections": [ { - "id": "con_5m5GpC2yhTh0g4cn", + "id": "con_cls5o7ko4UNCAbi5", "options": { "mfa": { "active": true, @@ -4876,12 +4876,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", - "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" ] }, { - "id": "con_ZxRMPXT6qTFWMFqC", + "id": "con_mNzsGFqGTiRm8ck6", "options": { "email": true, "scope": [ @@ -4903,8 +4903,8 @@ "google-oauth2" ], "enabled_clients": [ - "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", - "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH" + "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" ] } ] @@ -4915,16 +4915,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_ZxRMPXT6qTFWMFqC/clients?take=50", + "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l" }, { - "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH" + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" } ] }, @@ -4934,16 +4934,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_ZxRMPXT6qTFWMFqC/clients?take=50", + "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l" }, { - "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH" + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" } ] }, @@ -4953,11 +4953,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_ZxRMPXT6qTFWMFqC", + "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6", "body": { "enabled_clients": [ - "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", - "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" ], "is_domain_connection": false, "options": { @@ -4971,7 +4971,7 @@ }, "status": 200, "response": { - "id": "con_ZxRMPXT6qTFWMFqC", + "id": "con_mNzsGFqGTiRm8ck6", "options": { "email": true, "scope": [ @@ -4990,8 +4990,8 @@ "active": false }, "enabled_clients": [ - "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", - "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" ], "realms": [ "google-oauth2" @@ -5003,14 +5003,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_ZxRMPXT6qTFWMFqC/clients", + "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6/clients", "body": [ { - "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", + "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", "status": true }, { - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", "status": true } ], @@ -5130,7 +5130,6 @@ "allowed_clients": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -5152,6 +5151,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -5159,7 +5159,7 @@ "subject": "deprecated" } ], - "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", + "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5179,12 +5179,20 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -5197,6 +5205,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -5204,7 +5213,8 @@ "subject": "deprecated" } ], - "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", + "allowed_origins": [], + "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5212,32 +5222,27 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" }, + "is_first_party": true, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -5250,6 +5255,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -5257,8 +5263,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5266,16 +5271,11 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { @@ -5283,7 +5283,6 @@ "global": false, "is_token_endpoint_ip_header_trusted": false, "name": "Terraform Provider", - "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -5297,6 +5296,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -5304,7 +5304,7 @@ "subject": "deprecated" } ], - "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", + "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5323,11 +5323,15 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -5337,19 +5341,19 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -5357,7 +5361,7 @@ "subject": "deprecated" } ], - "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", + "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5366,12 +5370,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -5379,16 +5386,10 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -5398,18 +5399,20 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -5417,7 +5420,7 @@ "subject": "deprecated" } ], - "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", + "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5426,15 +5429,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -5446,7 +5446,6 @@ "allowed_clients": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -5468,6 +5467,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -5475,7 +5475,7 @@ "subject": "deprecated" } ], - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5542,8 +5542,8 @@ "response": { "client_grants": [ { - "id": "cgr_7XbO3vwF6ya6vZAL", - "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", + "id": "cgr_S6EVifP1ifjC9uVQ", + "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -5680,8 +5680,8 @@ "subject_type": "client" }, { - "id": "cgr_OaZij3g3Z6RowvIj", - "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", + "id": "cgr_eG5gEZKTl5i0JlGq", + "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -6060,7 +6060,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/client-grants/cgr_OaZij3g3Z6RowvIj", + "path": "/api/v2/client-grants/cgr_eG5gEZKTl5i0JlGq", "body": { "scope": [ "read:client_grants", @@ -6197,8 +6197,8 @@ }, "status": 200, "response": { - "id": "cgr_OaZij3g3Z6RowvIj", - "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", + "id": "cgr_eG5gEZKTl5i0JlGq", + "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -6340,7 +6340,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/client-grants/cgr_7XbO3vwF6ya6vZAL", + "path": "/api/v2/client-grants/cgr_S6EVifP1ifjC9uVQ", "body": { "scope": [ "read:client_grants", @@ -6477,8 +6477,8 @@ }, "status": 200, "response": { - "id": "cgr_7XbO3vwF6ya6vZAL", - "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", + "id": "cgr_S6EVifP1ifjC9uVQ", + "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -6626,22 +6626,22 @@ "response": { "roles": [ { - "id": "rol_QUkalOG8CI2qT7cg", + "id": "rol_HL6iYQ8aOmwIQR4Z", "name": "Admin", "description": "Can read and write things" }, { - "id": "rol_7lCohdU6rjViF9BJ", + "id": "rol_6MeXScuszPY3FHmj", "name": "Reader", "description": "Can only read things" }, { - "id": "rol_ZVXhUfVpRnHPMoVN", + "id": "rol_FMUfBZQJE8GIpCD3", "name": "read_only", "description": "Read Only" }, { - "id": "rol_wlMa14cHtcqr1KdB", + "id": "rol_3JfaQfAutCBGuyMm", "name": "read_osnly", "description": "Readz Only" } @@ -6656,7 +6656,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_QUkalOG8CI2qT7cg/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_HL6iYQ8aOmwIQR4Z/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -6671,7 +6671,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_QUkalOG8CI2qT7cg/permissions?per_page=100&page=1&include_totals=true", + "path": "/api/v2/roles/rol_HL6iYQ8aOmwIQR4Z/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { @@ -6686,7 +6686,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_7lCohdU6rjViF9BJ/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_6MeXScuszPY3FHmj/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -6701,7 +6701,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_7lCohdU6rjViF9BJ/permissions?per_page=100&page=1&include_totals=true", + "path": "/api/v2/roles/rol_6MeXScuszPY3FHmj/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { @@ -6716,7 +6716,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_ZVXhUfVpRnHPMoVN/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_FMUfBZQJE8GIpCD3/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -6731,7 +6731,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_ZVXhUfVpRnHPMoVN/permissions?per_page=100&page=1&include_totals=true", + "path": "/api/v2/roles/rol_FMUfBZQJE8GIpCD3/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { @@ -6746,7 +6746,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_wlMa14cHtcqr1KdB/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_3JfaQfAutCBGuyMm/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -6761,7 +6761,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_wlMa14cHtcqr1KdB/permissions?per_page=100&page=1&include_totals=true", + "path": "/api/v2/roles/rol_3JfaQfAutCBGuyMm/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { @@ -6776,14 +6776,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/roles/rol_QUkalOG8CI2qT7cg", + "path": "/api/v2/roles/rol_HL6iYQ8aOmwIQR4Z", "body": { "name": "Admin", "description": "Can read and write things" }, "status": 200, "response": { - "id": "rol_QUkalOG8CI2qT7cg", + "id": "rol_HL6iYQ8aOmwIQR4Z", "name": "Admin", "description": "Can read and write things" }, @@ -6793,14 +6793,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/roles/rol_7lCohdU6rjViF9BJ", + "path": "/api/v2/roles/rol_6MeXScuszPY3FHmj", "body": { "name": "Reader", "description": "Can only read things" }, "status": 200, "response": { - "id": "rol_7lCohdU6rjViF9BJ", + "id": "rol_6MeXScuszPY3FHmj", "name": "Reader", "description": "Can only read things" }, @@ -6810,14 +6810,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/roles/rol_ZVXhUfVpRnHPMoVN", + "path": "/api/v2/roles/rol_FMUfBZQJE8GIpCD3", "body": { "name": "read_only", "description": "Read Only" }, "status": 200, "response": { - "id": "rol_ZVXhUfVpRnHPMoVN", + "id": "rol_FMUfBZQJE8GIpCD3", "name": "read_only", "description": "Read Only" }, @@ -6827,14 +6827,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/roles/rol_wlMa14cHtcqr1KdB", + "path": "/api/v2/roles/rol_3JfaQfAutCBGuyMm", "body": { "name": "read_osnly", "description": "Readz Only" }, "status": 200, "response": { - "id": "rol_wlMa14cHtcqr1KdB", + "id": "rol_3JfaQfAutCBGuyMm", "name": "read_osnly", "description": "Readz Only" }, @@ -6870,7 +6870,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-16T05:17:30.753Z", + "updated_at": "2025-12-16T08:59:23.996Z", "branding": { "colors": { "primary": "#19aecc" @@ -6946,7 +6946,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-16T05:20:33.067Z", + "updated_at": "2025-12-16T09:02:11.327Z", "branding": { "colors": { "primary": "#19aecc" @@ -6959,25 +6959,27 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/email-templates/verify_email", + "path": "/api/v2/email-templates/welcome_email", "body": { - "template": "verify_email", - "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", - "enabled": true, + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "enabled": false, "from": "", - "subject": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", "syntax": "liquid", - "urlLifetimeInSeconds": 432000 + "urlLifetimeInSeconds": 3600 }, "status": 200, "response": { - "template": "verify_email", - "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", "from": "", - "subject": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", "syntax": "liquid", - "urlLifetimeInSeconds": 432000, - "enabled": true + "urlLifetimeInSeconds": 3600, + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -6985,27 +6987,25 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/email-templates/welcome_email", + "path": "/api/v2/email-templates/verify_email", "body": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "enabled": false, + "template": "verify_email", + "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", + "enabled": true, "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", + "subject": "", "syntax": "liquid", - "urlLifetimeInSeconds": 3600 + "urlLifetimeInSeconds": 432000 }, "status": 200, "response": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", + "template": "verify_email", + "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", + "subject": "", "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false + "urlLifetimeInSeconds": 432000, + "enabled": true }, "rawHeaders": [], "responseIsBinary": false @@ -7019,7 +7019,12 @@ "response": { "organizations": [ { - "id": "org_xx56mAIMVPiBVeuu", + "id": "org_4ljRqNj9r3hARo3g", + "name": "org2", + "display_name": "Organization2" + }, + { + "id": "org_TiDOQfO5mFtNEm4F", "name": "org1", "display_name": "Organization", "branding": { @@ -7028,11 +7033,6 @@ "primary": "#57ddff" } } - }, - { - "id": "org_BF11sKCsVKejD9RE", - "name": "org2", - "display_name": "Organization2" } ] }, @@ -7113,7 +7113,6 @@ "allowed_clients": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -7135,6 +7134,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -7142,7 +7142,7 @@ "subject": "deprecated" } ], - "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", + "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7162,12 +7162,20 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -7180,6 +7188,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -7187,7 +7196,8 @@ "subject": "deprecated" } ], - "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", + "allowed_origins": [], + "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7195,32 +7205,27 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" }, + "is_first_party": true, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -7233,6 +7238,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -7240,8 +7246,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7249,16 +7254,11 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { @@ -7266,7 +7266,6 @@ "global": false, "is_token_endpoint_ip_header_trusted": false, "name": "Terraform Provider", - "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -7280,6 +7279,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -7287,7 +7287,7 @@ "subject": "deprecated" } ], - "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", + "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7306,11 +7306,15 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -7320,19 +7324,19 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -7340,7 +7344,7 @@ "subject": "deprecated" } ], - "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", + "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7349,12 +7353,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -7362,16 +7369,10 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -7381,18 +7382,20 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -7400,7 +7403,7 @@ "subject": "deprecated" } ], - "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", + "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7409,15 +7412,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -7429,7 +7429,6 @@ "allowed_clients": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -7451,6 +7450,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -7458,7 +7458,7 @@ "subject": "deprecated" } ], - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7519,7 +7519,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -7534,7 +7534,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/enabled_connections?page=1&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/enabled_connections?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -7549,7 +7549,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -7564,7 +7564,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/client-grants?page=1&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/client-grants?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -7579,7 +7579,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/discovery-domains?take=50", + "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -7591,7 +7591,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/discovery-domains?take=50", + "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -7603,7 +7603,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -7618,7 +7618,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/enabled_connections?page=1&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/enabled_connections?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -7633,7 +7633,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -7648,7 +7648,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/client-grants?page=1&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/client-grants?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -7663,7 +7663,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/discovery-domains?take=50", + "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -7675,7 +7675,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/discovery-domains?take=50", + "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -7693,7 +7693,7 @@ "response": { "connections": [ { - "id": "con_5m5GpC2yhTh0g4cn", + "id": "con_cls5o7ko4UNCAbi5", "options": { "mfa": { "active": true, @@ -7756,12 +7756,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", - "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" ] }, { - "id": "con_ZxRMPXT6qTFWMFqC", + "id": "con_mNzsGFqGTiRm8ck6", "options": { "email": true, "scope": [ @@ -7783,8 +7783,8 @@ "google-oauth2" ], "enabled_clients": [ - "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", - "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" ] } ] @@ -7795,491 +7795,290 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", + "path": "/api/v2/client-grants?take=50", "body": "", "status": 200, "response": { - "total": 9, - "start": 0, - "limit": 100, - "clients": [ - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", - "is_first_party": true, - "oidc_conformant": true, - "sso_disabled": false, - "cross_origin_auth": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "cross_origin_authentication": true, - "allowed_clients": [], - "callbacks": [], - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials", - "implicit", - "authorization_code", - "refresh_token" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, + "client_grants": [ { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "allowed_origins": [], - "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "web_origins": [], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso": false, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" + "id": "cgr_S6EVifP1ifjC9uVQ", + "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" ], - "custom_login_page_on": true + "subject_type": "client" }, { - "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], - "is_first_party": true, - "name": "All Applications", - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } + "id": "cgr_eG5gEZKTl5i0JlGq", + "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/client-grants?take=50", - "body": "", - "status": 200, - "response": { - "client_grants": [ + "subject_type": "client" + }, { - "id": "cgr_7XbO3vwF6ya6vZAL", - "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", + "id": "cgr_pbwejzhwoujrsNE8", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -8306,6 +8105,10 @@ "update:client_keys", "delete:client_keys", "create:client_keys", + "read:client_credentials", + "update:client_credentials", + "delete:client_credentials", + "create:client_credentials", "read:connections", "update:connections", "delete:connections", @@ -8395,10 +8198,19 @@ "read:entitlements", "read:attack_protection", "update:attack_protection", + "read:organizations_summary", + "create:authentication_methods", + "read:authentication_methods", + "update:authentication_methods", + "delete:authentication_methods", "read:organizations", "update:organizations", "create:organizations", "delete:organizations", + "read:organization_discovery_domains", + "update:organization_discovery_domains", + "create:organization_discovery_domains", + "delete:organization_discovery_domains", "create:organization_members", "read:organization_members", "delete:organization_members", @@ -8411,382 +8223,570 @@ "delete:organization_member_roles", "create:organization_invitations", "read:organization_invitations", - "delete:organization_invitations" + "delete:organization_invitations", + "read:scim_config", + "create:scim_config", + "update:scim_config", + "delete:scim_config", + "create:scim_token", + "read:scim_token", + "delete:scim_token", + "delete:phone_providers", + "create:phone_providers", + "read:phone_providers", + "update:phone_providers", + "delete:phone_templates", + "create:phone_templates", + "read:phone_templates", + "update:phone_templates", + "create:encryption_keys", + "read:encryption_keys", + "update:encryption_keys", + "delete:encryption_keys", + "read:sessions", + "update:sessions", + "delete:sessions", + "read:refresh_tokens", + "delete:refresh_tokens", + "create:self_service_profiles", + "read:self_service_profiles", + "update:self_service_profiles", + "delete:self_service_profiles", + "create:sso_access_tickets", + "delete:sso_access_tickets", + "read:forms", + "update:forms", + "delete:forms", + "create:forms", + "read:flows", + "update:flows", + "delete:flows", + "create:flows", + "read:flows_vault", + "read:flows_vault_connections", + "update:flows_vault_connections", + "delete:flows_vault_connections", + "create:flows_vault_connections", + "read:flows_executions", + "delete:flows_executions", + "read:connections_options", + "update:connections_options", + "read:self_service_profile_custom_texts", + "update:self_service_profile_custom_texts", + "create:network_acls", + "update:network_acls", + "read:network_acls", + "delete:network_acls", + "delete:vdcs_templates", + "read:vdcs_templates", + "create:vdcs_templates", + "update:vdcs_templates", + "create:custom_signing_keys", + "read:custom_signing_keys", + "update:custom_signing_keys", + "delete:custom_signing_keys", + "read:federated_connections_tokens", + "delete:federated_connections_tokens", + "create:user_attribute_profiles", + "read:user_attribute_profiles", + "update:user_attribute_profiles", + "delete:user_attribute_profiles", + "read:event_streams", + "create:event_streams", + "delete:event_streams", + "update:event_streams", + "read:event_deliveries", + "update:event_deliveries", + "create:connection_profiles", + "read:connection_profiles", + "update:connection_profiles", + "delete:connection_profiles", + "read:organization_client_grants", + "create:organization_client_grants", + "delete:organization_client_grants", + "read:security_metrics", + "read:connections_keys", + "update:connections_keys", + "create:connections_keys" + ], + "subject_type": "client" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "total": 9, + "start": 0, + "limit": 100, + "clients": [ + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Deploy CLI", + "is_first_party": true, + "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "cross_origin_authentication": true, + "allowed_clients": [], + "callbacks": [], + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials", + "implicit", + "authorization_code", + "refresh_token" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" ], - "subject_type": "client" + "custom_login_page_on": true }, { - "id": "cgr_OaZij3g3Z6RowvIj", - "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "allowed_origins": [], + "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "regular_web", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "web_origins": [], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Terraform Provider", + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "subject_type": "client" + "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true }, { - "id": "cgr_pbwejzhwoujrsNE8", - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:client_credentials", - "update:client_credentials", - "delete:client_credentials", - "create:client_credentials", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations_summary", - "create:authentication_methods", - "read:authentication_methods", - "update:authentication_methods", - "delete:authentication_methods", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "read:organization_discovery_domains", - "update:organization_discovery_domains", - "create:organization_discovery_domains", - "delete:organization_discovery_domains", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations", - "read:scim_config", - "create:scim_config", - "update:scim_config", - "delete:scim_config", - "create:scim_token", - "read:scim_token", - "delete:scim_token", - "delete:phone_providers", - "create:phone_providers", - "read:phone_providers", - "update:phone_providers", - "delete:phone_templates", - "create:phone_templates", - "read:phone_templates", - "update:phone_templates", - "create:encryption_keys", - "read:encryption_keys", - "update:encryption_keys", - "delete:encryption_keys", - "read:sessions", - "update:sessions", - "delete:sessions", - "read:refresh_tokens", - "delete:refresh_tokens", - "create:self_service_profiles", - "read:self_service_profiles", - "update:self_service_profiles", - "delete:self_service_profiles", - "create:sso_access_tickets", - "delete:sso_access_tickets", - "read:forms", - "update:forms", - "delete:forms", - "create:forms", - "read:flows", - "update:flows", - "delete:flows", - "create:flows", - "read:flows_vault", - "read:flows_vault_connections", - "update:flows_vault_connections", - "delete:flows_vault_connections", - "create:flows_vault_connections", - "read:flows_executions", - "delete:flows_executions", - "read:connections_options", - "update:connections_options", - "read:self_service_profile_custom_texts", - "update:self_service_profile_custom_texts", - "create:network_acls", - "update:network_acls", - "read:network_acls", - "delete:network_acls", - "delete:vdcs_templates", - "read:vdcs_templates", - "create:vdcs_templates", - "update:vdcs_templates", - "create:custom_signing_keys", - "read:custom_signing_keys", - "update:custom_signing_keys", - "delete:custom_signing_keys", - "read:federated_connections_tokens", - "delete:federated_connections_tokens", - "create:user_attribute_profiles", - "read:user_attribute_profiles", - "update:user_attribute_profiles", - "delete:user_attribute_profiles", - "read:event_streams", - "create:event_streams", - "delete:event_streams", - "update:event_streams", - "read:event_deliveries", - "update:event_deliveries", - "create:connection_profiles", - "read:connection_profiles", - "update:connection_profiles", - "delete:connection_profiles", - "read:organization_client_grants", - "create:organization_client_grants", - "delete:organization_client_grants", - "read:security_metrics", - "read:connections_keys", - "update:connections_keys", - "create:connections_keys" + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" ], - "subject_type": "client" + "callbacks": [ + "http://localhost:3000" + ], + "client_metadata": {}, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "none", + "app_type": "spa", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "The Default App", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso": false, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": true, + "callbacks": [], + "is_first_party": true, + "name": "All Applications", + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" + ], + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true } ] }, @@ -8796,13 +8796,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE", + "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g", "body": { "display_name": "Organization2" }, "status": 200, "response": { - "id": "org_BF11sKCsVKejD9RE", + "id": "org_4ljRqNj9r3hARo3g", "display_name": "Organization2", "name": "org2" }, @@ -8812,7 +8812,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu", + "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F", "body": { "branding": { "colors": { @@ -8830,7 +8830,7 @@ "primary": "#57ddff" } }, - "id": "org_xx56mAIMVPiBVeuu", + "id": "org_TiDOQfO5mFtNEm4F", "display_name": "Organization", "name": "org1" }, @@ -8845,7 +8845,7 @@ "status": 200, "response": [ { - "id": "lst_0000000000025583", + "id": "lst_0000000000025595", "name": "Suspended DD Log Stream", "type": "datadog", "status": "active", @@ -8856,14 +8856,14 @@ "isPriority": false }, { - "id": "lst_0000000000025584", + "id": "lst_0000000000025596", "name": "Amazon EventBridge", "type": "eventbridge", "status": "active", "sink": { "awsAccountId": "123456789012", "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-baf843b1-5e3d-4cfa-86b7-b0cec812ad73/auth0.logs" + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-2a1febfb-fae7-4ade-ac00-b462a0a18f30/auth0.logs" }, "filters": [ { @@ -8912,7 +8912,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/log-streams/lst_0000000000025584", + "path": "/api/v2/log-streams/lst_0000000000025596", "body": { "name": "Amazon EventBridge", "filters": [ @@ -8957,14 +8957,14 @@ }, "status": 200, "response": { - "id": "lst_0000000000025584", + "id": "lst_0000000000025596", "name": "Amazon EventBridge", "type": "eventbridge", "status": "active", "sink": { "awsAccountId": "123456789012", "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-baf843b1-5e3d-4cfa-86b7-b0cec812ad73/auth0.logs" + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-2a1febfb-fae7-4ade-ac00-b462a0a18f30/auth0.logs" }, "filters": [ { @@ -9012,7 +9012,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/log-streams/lst_0000000000025583", + "path": "/api/v2/log-streams/lst_0000000000025595", "body": { "name": "Suspended DD Log Stream", "sink": { @@ -9022,7 +9022,7 @@ }, "status": 200, "response": { - "id": "lst_0000000000025583", + "id": "lst_0000000000025595", "name": "Suspended DD Log Stream", "type": "datadog", "status": "active", @@ -9081,7 +9081,7 @@ "name": "Blank-form", "flow_count": 0, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-16T05:17:40.044Z" + "updated_at": "2025-12-16T08:59:30.202Z" } ] }, @@ -9152,7 +9152,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-16T05:17:40.044Z" + "updated_at": "2025-12-16T08:59:30.202Z" }, "rawHeaders": [], "responseIsBinary": false @@ -9277,7 +9277,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-16T05:20:48.391Z" + "updated_at": "2025-12-16T09:02:21.881Z" }, "rawHeaders": [], "responseIsBinary": false @@ -10479,66 +10479,20 @@ { "tenant": "auth0-deploy-cli-e2e", "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -10551,6 +10505,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -10558,7 +10513,7 @@ "subject": "deprecated" } ], - "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", + "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10566,6 +10521,7 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", "app_type": "non_interactive", "grant_types": [ @@ -10582,7 +10538,6 @@ "allowed_logout_urls": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -10604,6 +10559,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -10612,7 +10568,7 @@ } ], "allowed_origins": [], - "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10636,8 +10592,10 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", - "cross_origin_auth": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -10651,6 +10609,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -10658,7 +10617,7 @@ "subject": "deprecated" } ], - "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", + "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10677,33 +10636,21 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, + "name": "Terraform Provider", "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -10711,7 +10658,7 @@ "subject": "deprecated" } ], - "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", + "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10719,12 +10666,9 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -10742,7 +10686,6 @@ "http://localhost:3000" ], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -10764,6 +10707,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -10771,7 +10715,7 @@ "subject": "deprecated" } ], - "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", + "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10796,11 +10740,66 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", + "name": "The Default App", "allowed_clients": [], "callbacks": [], "client_metadata": {}, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso": false, + "sso_disabled": false, + "cross_origin_authentication": false, "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, "native_social_login": { "apple": { @@ -10822,6 +10821,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -10829,7 +10829,7 @@ "subject": "deprecated" } ], - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10853,7 +10853,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", + "path": "/api/v2/clients/Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", "body": "", "status": 204, "response": "", @@ -10863,7 +10863,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", + "path": "/api/v2/clients/rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", "body": "", "status": 204, "response": "", @@ -10873,7 +10873,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "path": "/api/v2/clients/ACWycjOpjEbMgfnrWVhep13mHhazsUyf", "body": "", "status": 204, "response": "", @@ -10883,7 +10883,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", + "path": "/api/v2/clients/ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", "body": "", "status": 204, "response": "", @@ -10893,7 +10893,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", + "path": "/api/v2/clients/rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", "body": "", "status": 204, "response": "", @@ -10903,7 +10903,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", + "path": "/api/v2/clients/1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", "body": "", "status": 204, "response": "", @@ -10913,7 +10913,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "path": "/api/v2/clients/B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", "body": "", "status": 204, "response": "", @@ -10927,7 +10927,6 @@ "body": { "name": "Default App", "callbacks": [], - "cross_origin_auth": false, "custom_login_page_on": true, "grant_types": [ "authorization_code", @@ -10952,7 +10951,8 @@ "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, - "sso_disabled": false + "sso_disabled": false, + "cross_origin_authentication": false }, "status": 201, "response": { @@ -10961,7 +10961,6 @@ "is_token_endpoint_ip_header_trusted": false, "name": "Default App", "callbacks": [], - "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -10975,6 +10974,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "encrypted": true, "signing_keys": [ { @@ -10984,7 +10984,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11020,7 +11020,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/email", + "path": "/api/v2/guardian/factors/otp", "body": { "enabled": false }, @@ -11034,7 +11034,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/otp", + "path": "/api/v2/guardian/factors/webauthn-roaming", "body": { "enabled": false }, @@ -11048,7 +11048,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/push-notification", + "path": "/api/v2/guardian/factors/webauthn-platform", "body": { "enabled": false }, @@ -11062,7 +11062,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/push-notification", "body": { "enabled": false }, @@ -11076,7 +11076,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/recovery-code", + "path": "/api/v2/guardian/factors/sms", "body": { "enabled": false }, @@ -11090,7 +11090,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", + "path": "/api/v2/guardian/factors/recovery-code", "body": { "enabled": false }, @@ -11104,7 +11104,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-platform", + "path": "/api/v2/guardian/factors/email", "body": { "enabled": false }, @@ -11177,7 +11177,7 @@ "response": { "actions": [ { - "id": "e69869b2-169a-4df9-9326-4447818092f6", + "id": "13228a5d-a06b-4e51-89aa-45b56efde856", "name": "My Custom Action", "supported_triggers": [ { @@ -11185,34 +11185,34 @@ "version": "v2" } ], - "created_at": "2025-12-16T05:17:04.860907359Z", - "updated_at": "2025-12-16T05:20:09.154927185Z", + "created_at": "2025-12-16T08:59:08.956810259Z", + "updated_at": "2025-12-16T09:01:53.371586083Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "built", "secrets": [], "current_version": { - "id": "78436207-c740-47e3-a519-47ab002e567e", + "id": "a3a41c63-9269-4717-94ec-49f71afe50ee", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node18", "status": "BUILT", "number": 2, - "build_time": "2025-12-16T05:20:10.223852587Z", - "created_at": "2025-12-16T05:20:10.155336728Z", - "updated_at": "2025-12-16T05:20:10.225142287Z" + "build_time": "2025-12-16T09:01:54.157289479Z", + "created_at": "2025-12-16T09:01:54.068008779Z", + "updated_at": "2025-12-16T09:01:54.158632357Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "78436207-c740-47e3-a519-47ab002e567e", + "id": "a3a41c63-9269-4717-94ec-49f71afe50ee", "deployed": true, "number": 2, - "built_at": "2025-12-16T05:20:10.223852587Z", + "built_at": "2025-12-16T09:01:54.157289479Z", "secrets": [], "status": "built", - "created_at": "2025-12-16T05:20:10.155336728Z", - "updated_at": "2025-12-16T05:20:10.225142287Z", + "created_at": "2025-12-16T09:01:54.068008779Z", + "updated_at": "2025-12-16T09:01:54.158632357Z", "runtime": "node18", "supported_triggers": [ { @@ -11233,7 +11233,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/actions/actions/e69869b2-169a-4df9-9326-4447818092f6?force=true", + "path": "/api/v2/actions/actions/13228a5d-a06b-4e51-89aa-45b56efde856?force=true", "body": "", "status": 204, "response": "", @@ -11281,34 +11281,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/brute-force-protection", - "body": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 10 - }, - "status": 200, - "response": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 10 - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -11357,6 +11329,34 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/brute-force-protection", + "body": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 10 + }, + "status": 200, + "response": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 10 + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -11429,7 +11429,6 @@ "is_token_endpoint_ip_header_trusted": false, "name": "Default App", "callbacks": [], - "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -11443,6 +11442,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -11450,7 +11450,7 @@ "subject": "deprecated" } ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11517,7 +11517,7 @@ "response": { "connections": [ { - "id": "con_5m5GpC2yhTh0g4cn", + "id": "con_cls5o7ko4UNCAbi5", "options": { "mfa": { "active": true, @@ -11595,7 +11595,7 @@ "response": { "connections": [ { - "id": "con_5m5GpC2yhTh0g4cn", + "id": "con_cls5o7ko4UNCAbi5", "options": { "mfa": { "active": true, @@ -11667,7 +11667,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_5m5GpC2yhTh0g4cn/clients?take=50", + "path": "/api/v2/connections/con_cls5o7ko4UNCAbi5/clients?take=50", "body": "", "status": 200, "response": { @@ -11679,7 +11679,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_5m5GpC2yhTh0g4cn/clients?take=50", + "path": "/api/v2/connections/con_cls5o7ko4UNCAbi5/clients?take=50", "body": "", "status": 200, "response": { @@ -11691,11 +11691,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/connections/con_5m5GpC2yhTh0g4cn", + "path": "/api/v2/connections/con_cls5o7ko4UNCAbi5", "body": "", "status": 202, "response": { - "deleted_at": "2025-12-16T05:21:07.209Z" + "deleted_at": "2025-12-16T09:02:41.096Z" }, "rawHeaders": [], "responseIsBinary": false @@ -11709,7 +11709,7 @@ "strategy": "auth0", "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" ], "is_domain_connection": false, "options": { @@ -11727,7 +11727,7 @@ }, "status": 201, "response": { - "id": "con_itdctyRSC3HQmlX0", + "id": "con_3R2lX4rln4ArocW5", "options": { "mfa": { "active": true, @@ -11762,7 +11762,7 @@ }, "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" ], "realms": [ "Username-Password-Authentication" @@ -11780,7 +11780,7 @@ "response": { "connections": [ { - "id": "con_itdctyRSC3HQmlX0", + "id": "con_3R2lX4rln4ArocW5", "options": { "mfa": { "active": true, @@ -11818,7 +11818,7 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" ] } ] @@ -11829,14 +11829,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients", + "path": "/api/v2/connections/con_3R2lX4rln4ArocW5/clients", "body": [ { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "status": true }, { - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "status": true } ], @@ -11917,7 +11917,6 @@ "is_token_endpoint_ip_header_trusted": false, "name": "Default App", "callbacks": [], - "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -11931,6 +11930,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -11938,7 +11938,7 @@ "subject": "deprecated" } ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12005,7 +12005,7 @@ "response": { "connections": [ { - "id": "con_ZxRMPXT6qTFWMFqC", + "id": "con_mNzsGFqGTiRm8ck6", "options": { "email": true, "scope": [ @@ -12029,7 +12029,7 @@ "enabled_clients": [] }, { - "id": "con_itdctyRSC3HQmlX0", + "id": "con_3R2lX4rln4ArocW5", "options": { "mfa": { "active": true, @@ -12066,8 +12066,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" ] } ] @@ -12084,7 +12084,7 @@ "response": { "connections": [ { - "id": "con_ZxRMPXT6qTFWMFqC", + "id": "con_mNzsGFqGTiRm8ck6", "options": { "email": true, "scope": [ @@ -12108,7 +12108,7 @@ "enabled_clients": [] }, { - "id": "con_itdctyRSC3HQmlX0", + "id": "con_3R2lX4rln4ArocW5", "options": { "mfa": { "active": true, @@ -12145,8 +12145,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" ] } ] @@ -12157,7 +12157,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_ZxRMPXT6qTFWMFqC/clients?take=50", + "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6/clients?take=50", "body": "", "status": 200, "response": { @@ -12169,7 +12169,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_ZxRMPXT6qTFWMFqC/clients?take=50", + "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6/clients?take=50", "body": "", "status": 200, "response": { @@ -12181,11 +12181,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/connections/con_ZxRMPXT6qTFWMFqC", + "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6", "body": "", "status": 202, "response": { - "deleted_at": "2025-12-16T05:21:14.787Z" + "deleted_at": "2025-12-16T09:02:47.259Z" }, "rawHeaders": [], "responseIsBinary": false @@ -12296,7 +12296,6 @@ "is_token_endpoint_ip_header_trusted": false, "name": "Default App", "callbacks": [], - "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -12310,6 +12309,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -12317,7 +12317,7 @@ "subject": "deprecated" } ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12632,22 +12632,22 @@ "response": { "roles": [ { - "id": "rol_QUkalOG8CI2qT7cg", + "id": "rol_HL6iYQ8aOmwIQR4Z", "name": "Admin", "description": "Can read and write things" }, { - "id": "rol_7lCohdU6rjViF9BJ", + "id": "rol_6MeXScuszPY3FHmj", "name": "Reader", "description": "Can only read things" }, { - "id": "rol_ZVXhUfVpRnHPMoVN", + "id": "rol_FMUfBZQJE8GIpCD3", "name": "read_only", "description": "Read Only" }, { - "id": "rol_wlMa14cHtcqr1KdB", + "id": "rol_3JfaQfAutCBGuyMm", "name": "read_osnly", "description": "Readz Only" } @@ -12662,7 +12662,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_QUkalOG8CI2qT7cg/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_HL6iYQ8aOmwIQR4Z/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -12677,7 +12677,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_QUkalOG8CI2qT7cg/permissions?per_page=100&page=1&include_totals=true", + "path": "/api/v2/roles/rol_HL6iYQ8aOmwIQR4Z/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { @@ -12692,7 +12692,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_7lCohdU6rjViF9BJ/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_6MeXScuszPY3FHmj/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -12707,7 +12707,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_7lCohdU6rjViF9BJ/permissions?per_page=100&page=1&include_totals=true", + "path": "/api/v2/roles/rol_6MeXScuszPY3FHmj/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { @@ -12722,7 +12722,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_ZVXhUfVpRnHPMoVN/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_FMUfBZQJE8GIpCD3/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -12737,7 +12737,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_ZVXhUfVpRnHPMoVN/permissions?per_page=100&page=1&include_totals=true", + "path": "/api/v2/roles/rol_FMUfBZQJE8GIpCD3/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { @@ -12752,7 +12752,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_wlMa14cHtcqr1KdB/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_3JfaQfAutCBGuyMm/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -12767,7 +12767,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_wlMa14cHtcqr1KdB/permissions?per_page=100&page=1&include_totals=true", + "path": "/api/v2/roles/rol_3JfaQfAutCBGuyMm/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { @@ -12782,7 +12782,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/roles/rol_QUkalOG8CI2qT7cg", + "path": "/api/v2/roles/rol_HL6iYQ8aOmwIQR4Z", "body": "", "status": 200, "response": {}, @@ -12792,7 +12792,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/roles/rol_7lCohdU6rjViF9BJ", + "path": "/api/v2/roles/rol_6MeXScuszPY3FHmj", "body": "", "status": 200, "response": {}, @@ -12802,7 +12802,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/roles/rol_ZVXhUfVpRnHPMoVN", + "path": "/api/v2/roles/rol_FMUfBZQJE8GIpCD3", "body": "", "status": 200, "response": {}, @@ -12812,13 +12812,42 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/roles/rol_wlMa14cHtcqr1KdB", + "path": "/api/v2/roles/rol_3JfaQfAutCBGuyMm", "body": "", "status": 200, "response": {}, "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations?take=50", + "body": "", + "status": 200, + "response": { + "organizations": [ + { + "id": "org_4ljRqNj9r3hARo3g", + "name": "org2", + "display_name": "Organization2" + }, + { + "id": "org_TiDOQfO5mFtNEm4F", + "name": "org1", + "display_name": "Organization", + "branding": { + "colors": { + "page_background": "#fff5f5", + "primary": "#57ddff" + } + } + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -12891,7 +12920,6 @@ "is_token_endpoint_ip_header_trusted": false, "name": "Default App", "callbacks": [], - "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -12905,6 +12933,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -12912,7 +12941,7 @@ "subject": "deprecated" } ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12960,39 +12989,10 @@ "pkcs7": "[REDACTED]", "subject": "deprecated" } - ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations?take=50", - "body": "", - "status": 200, - "response": { - "organizations": [ - { - "id": "org_xx56mAIMVPiBVeuu", - "name": "org1", - "display_name": "Organization", - "branding": { - "colors": { - "page_background": "#fff5f5", - "primary": "#57ddff" - } - } - }, - { - "id": "org_BF11sKCsVKejD9RE", - "name": "org2", - "display_name": "Organization2" + ], + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true } ] }, @@ -13002,7 +13002,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -13017,7 +13017,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/enabled_connections?page=1&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/enabled_connections?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -13032,7 +13032,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -13047,7 +13047,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/client-grants?page=1&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/client-grants?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -13062,7 +13062,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/discovery-domains?take=50", + "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -13074,7 +13074,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/discovery-domains?take=50", + "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -13086,7 +13086,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -13101,7 +13101,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/enabled_connections?page=1&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/enabled_connections?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -13116,7 +13116,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -13131,7 +13131,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/client-grants?page=1&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/client-grants?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -13146,7 +13146,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/discovery-domains?take=50", + "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -13158,7 +13158,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/discovery-domains?take=50", + "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -13176,7 +13176,7 @@ "response": { "connections": [ { - "id": "con_itdctyRSC3HQmlX0", + "id": "con_3R2lX4rln4ArocW5", "options": { "mfa": { "active": true, @@ -13213,8 +13213,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" ] } ] @@ -13294,7 +13294,6 @@ "is_token_endpoint_ip_header_trusted": false, "name": "Default App", "callbacks": [], - "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -13308,6 +13307,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -13315,7 +13315,7 @@ "subject": "deprecated" } ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13624,7 +13624,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE", + "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g", "body": "", "status": 204, "response": "", @@ -13634,7 +13634,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu", + "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F", "body": "", "status": 204, "response": "", @@ -13649,7 +13649,7 @@ "status": 200, "response": [ { - "id": "lst_0000000000025583", + "id": "lst_0000000000025595", "name": "Suspended DD Log Stream", "type": "datadog", "status": "active", @@ -13660,14 +13660,14 @@ "isPriority": false }, { - "id": "lst_0000000000025584", + "id": "lst_0000000000025596", "name": "Amazon EventBridge", "type": "eventbridge", "status": "active", "sink": { "awsAccountId": "123456789012", "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-baf843b1-5e3d-4cfa-86b7-b0cec812ad73/auth0.logs" + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-2a1febfb-fae7-4ade-ac00-b462a0a18f30/auth0.logs" }, "filters": [ { @@ -13716,7 +13716,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/log-streams/lst_0000000000025583", + "path": "/api/v2/log-streams/lst_0000000000025595", "body": "", "status": 204, "response": "", @@ -13726,7 +13726,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/log-streams/lst_0000000000025584", + "path": "/api/v2/log-streams/lst_0000000000025596", "body": "", "status": 204, "response": "", @@ -15013,7 +15013,6 @@ "is_token_endpoint_ip_header_trusted": false, "name": "Default App", "callbacks": [], - "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -15027,6 +15026,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -15034,7 +15034,7 @@ "subject": "deprecated" } ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -15064,7 +15064,7 @@ "response": { "connections": [ { - "id": "con_itdctyRSC3HQmlX0", + "id": "con_3R2lX4rln4ArocW5", "options": { "mfa": { "active": true, @@ -15101,8 +15101,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" ] } ] @@ -15113,13 +15113,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients?take=50", + "path": "/api/v2/connections/con_3R2lX4rln4ArocW5/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -15132,13 +15132,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients?take=50", + "path": "/api/v2/connections/con_3R2lX4rln4ArocW5/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -15157,7 +15157,7 @@ "response": { "connections": [ { - "id": "con_itdctyRSC3HQmlX0", + "id": "con_3R2lX4rln4ArocW5", "options": { "mfa": { "active": true, @@ -15194,8 +15194,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" ] } ] @@ -15290,6 +15290,21 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/email-templates/stolen_credentials", + "body": "", + "status": 404, + "response": { + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -15311,7 +15326,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email", + "path": "/api/v2/email-templates/reset_email_by_code", "body": "", "status": 404, "response": { @@ -15326,7 +15341,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/verify_email_by_code", + "path": "/api/v2/email-templates/change_password", "body": "", "status": 404, "response": { @@ -15356,7 +15371,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email_by_code", + "path": "/api/v2/email-templates/user_invitation", "body": "", "status": 404, "response": { @@ -15390,22 +15405,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/enrollment_email", - "body": "", - "status": 404, - "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/email-templates/stolen_credentials", + "path": "/api/v2/email-templates/verify_email_by_code", "body": "", "status": 404, "response": { @@ -15450,7 +15450,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/user_invitation", + "path": "/api/v2/email-templates/enrollment_email", "body": "", "status": 404, "response": { @@ -15465,7 +15465,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/change_password", + "path": "/api/v2/email-templates/reset_email", "body": "", "status": 404, "response": { @@ -15794,7 +15794,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/guardian/factors/sms/providers/twilio", + "path": "/api/v2/guardian/factors/push-notification/providers/sns", "body": "", "status": 200, "response": {}, @@ -15804,7 +15804,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/guardian/factors/push-notification/providers/sns", + "path": "/api/v2/guardian/factors/sms/providers/twilio", "body": "", "status": 200, "response": {}, @@ -15920,7 +15920,7 @@ }, "credentials": null, "created_at": "2025-12-09T12:24:00.604Z", - "updated_at": "2025-12-16T05:15:18.469Z" + "updated_at": "2025-12-16T08:58:34.717Z" } ] }, @@ -15935,6 +15935,22 @@ "status": 200, "response": { "templates": [ + { + "id": "tem_xqbUSF83fpnRv8r8rqXFDZ", + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "change_password", + "disabled": false, + "created_at": "2025-12-09T12:26:20.243Z", + "updated_at": "2025-12-16T08:58:36.831Z", + "content": { + "syntax": "liquid", + "body": { + "text": "{{ code | escape }} is your password change code for {{ friendly_name | escape }}", + "voice": "Hello. Your password change code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your password change code is {{ pause }} {{ code | escape }}" + } + } + }, { "id": "tem_dL83uTmWn8moGzm8UgAk4Q", "tenant": "auth0-deploy-cli-e2e", @@ -15942,7 +15958,7 @@ "type": "blocked_account", "disabled": false, "created_at": "2025-12-09T12:22:47.683Z", - "updated_at": "2025-12-16T05:15:21.194Z", + "updated_at": "2025-12-16T08:58:36.736Z", "content": { "syntax": "liquid", "body": { @@ -15953,18 +15969,18 @@ } }, { - "id": "tem_xqbUSF83fpnRv8r8rqXFDZ", + "id": "tem_o4LBTt4NQyX8K4vC9dPafR", "tenant": "auth0-deploy-cli-e2e", "channel": "phone", - "type": "change_password", + "type": "otp_verify", "disabled": false, - "created_at": "2025-12-09T12:26:20.243Z", - "updated_at": "2025-12-16T05:15:21.476Z", + "created_at": "2025-12-09T12:26:30.547Z", + "updated_at": "2025-12-16T08:58:37.073Z", "content": { "syntax": "liquid", "body": { - "text": "{{ code | escape }} is your password change code for {{ friendly_name | escape }}", - "voice": "Hello. Your password change code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your password change code is {{ pause }} {{ code | escape }}" + "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}", + "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" } } }, @@ -15975,7 +15991,7 @@ "type": "otp_enroll", "disabled": false, "created_at": "2025-12-09T12:26:25.327Z", - "updated_at": "2025-12-16T05:15:21.567Z", + "updated_at": "2025-12-16T08:58:36.804Z", "content": { "syntax": "liquid", "body": { @@ -15983,22 +15999,6 @@ "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" } } - }, - { - "id": "tem_o4LBTt4NQyX8K4vC9dPafR", - "tenant": "auth0-deploy-cli-e2e", - "channel": "phone", - "type": "otp_verify", - "disabled": false, - "created_at": "2025-12-09T12:26:30.547Z", - "updated_at": "2025-12-16T05:15:21.814Z", - "content": { - "syntax": "liquid", - "body": { - "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}", - "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" - } - } } ] }, @@ -16133,7 +16133,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-email-verification/custom-text/en", + "path": "/api/v2/prompts/signup/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16143,7 +16143,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup/custom-text/en", + "path": "/api/v2/prompts/login-email-verification/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16293,7 +16293,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-webauthn/custom-text/en", + "path": "/api/v2/prompts/mfa-sms/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16303,7 +16303,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-sms/custom-text/en", + "path": "/api/v2/prompts/mfa-webauthn/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16343,7 +16343,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/status/custom-text/en", + "path": "/api/v2/prompts/device-flow/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16353,7 +16353,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/device-flow/custom-text/en", + "path": "/api/v2/prompts/status/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16373,7 +16373,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/email-otp-challenge/custom-text/en", + "path": "/api/v2/prompts/organizations/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16383,7 +16383,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/organizations/custom-text/en", + "path": "/api/v2/prompts/email-otp-challenge/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16443,7 +16443,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login/partials", + "path": "/api/v2/prompts/login-password/partials", "body": "", "status": 200, "response": {}, @@ -16453,7 +16453,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-password/partials", + "path": "/api/v2/prompts/login-id/partials", "body": "", "status": 200, "response": {}, @@ -16463,7 +16463,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/partials", + "path": "/api/v2/prompts/login/partials", "body": "", "status": 200, "response": {}, @@ -16510,6 +16510,21 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/prompts/rendering?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "configs": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -16536,6 +16551,7 @@ "version": "v2", "status": "DEPRECATED", "runtimes": [ + "node12", "node18" ], "default_runtime": "node16", @@ -16590,7 +16606,6 @@ "version": "v2", "status": "CURRENT", "runtimes": [ - "node12", "node18-actions", "node22" ], @@ -16598,12 +16613,22 @@ "binding_policy": "trigger-bound", "compatible_triggers": [] }, + { + "id": "post-change-password", + "version": "v1", + "status": "DEPRECATED", + "runtimes": [ + "node12" + ], + "default_runtime": "node12", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, { "id": "post-change-password", "version": "v2", "status": "CURRENT", "runtimes": [ - "node12", "node18-actions", "node22" ], @@ -16964,7 +16989,6 @@ "is_token_endpoint_ip_header_trusted": false, "name": "Default App", "callbacks": [], - "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -16978,6 +17002,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -16985,7 +17010,7 @@ "subject": "deprecated" } ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -17043,25 +17068,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/attack-protection/brute-force-protection", - "body": "", - "status": 200, - "response": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 10 - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -17085,6 +17091,25 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/attack-protection/brute-force-protection", + "body": "", + "status": 200, + "response": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 10 + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -17116,23 +17141,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/attack-protection/bot-detection", - "body": "", - "status": 200, - "response": { - "challenge_password_policy": "never", - "challenge_passwordless_policy": "never", - "challenge_password_reset_policy": "never", - "allowlist": [], - "bot_detection_level": "medium", - "monitoring_mode_enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -17168,6 +17176,23 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/attack-protection/bot-detection", + "body": "", + "status": 200, + "response": { + "challenge_password_policy": "never", + "challenge_passwordless_policy": "never", + "challenge_password_reset_policy": "never", + "allowlist": [], + "bot_detection_level": "medium", + "monitoring_mode_enabled": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -17219,7 +17244,7 @@ "name": "Blank-form", "flow_count": 0, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-16T05:20:48.391Z" + "updated_at": "2025-12-16T09:02:21.881Z" } ] }, @@ -17305,7 +17330,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-16T05:20:48.391Z" + "updated_at": "2025-12-16T09:02:21.881Z" }, "rawHeaders": [], "responseIsBinary": false @@ -17313,14 +17338,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { - "limit": 50, + "limit": 100, "start": 0, "total": 0, - "connections": [] + "flows": [] }, "rawHeaders": [], "responseIsBinary": false @@ -17328,14 +17353,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "limit": 100, + "limit": 50, "start": 0, "total": 0, - "flows": [] + "connections": [] }, "rawHeaders": [], "responseIsBinary": false @@ -17414,7 +17439,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-16T05:20:33.067Z", + "updated_at": "2025-12-16T09:02:11.327Z", "branding": { "colors": { "primary": "#19aecc" @@ -17466,7 +17491,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-16T05:20:12.065Z", + "updated_at": "2025-12-16T09:01:55.451Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] @@ -17529,6 +17554,18 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connection-profiles?take=10", + "body": "", + "status": 200, + "response": { + "connection_profiles": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", diff --git a/test/e2e/recordings/should-deploy-without-deleting-resources-if-AUTH0_ALLOW_DELETE-is-false.json b/test/e2e/recordings/should-deploy-without-deleting-resources-if-AUTH0_ALLOW_DELETE-is-false.json index d0d53b0fd..7ab0da9bd 100644 --- a/test/e2e/recordings/should-deploy-without-deleting-resources-if-AUTH0_ALLOW_DELETE-is-false.json +++ b/test/e2e/recordings/should-deploy-without-deleting-resources-if-AUTH0_ALLOW_DELETE-is-false.json @@ -1303,7 +1303,7 @@ "subject": "deprecated" } ], - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1335,7 +1335,6 @@ "callbacks": [], "client_aliases": [], "client_metadata": {}, - "cross_origin_auth": false, "custom_login_page_on": true, "grant_types": [ "client_credentials" @@ -1366,7 +1365,8 @@ "rotation_type": "non-rotating" }, "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post" + "token_endpoint_auth_method": "client_secret_post", + "cross_origin_authentication": false }, "status": 201, "response": { @@ -1377,7 +1377,6 @@ "allowed_clients": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -1399,6 +1398,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "encrypted": true, "signing_keys": [ { @@ -1408,7 +1408,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", + "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1440,7 +1440,6 @@ "callbacks": [], "client_aliases": [], "client_metadata": {}, - "cross_origin_auth": false, "custom_login_page_on": true, "grant_types": [ "authorization_code", @@ -1475,7 +1474,8 @@ }, "sso_disabled": false, "token_endpoint_auth_method": "client_secret_post", - "web_origins": [] + "web_origins": [], + "cross_origin_authentication": false }, "status": 201, "response": { @@ -1487,7 +1487,6 @@ "allowed_logout_urls": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -1509,6 +1508,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "encrypted": true, "signing_keys": [ { @@ -1519,7 +1519,7 @@ } ], "allowed_origins": [], - "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1552,7 +1552,6 @@ "client_metadata": { "foo": "bar" }, - "cross_origin_auth": false, "custom_login_page_on": true, "grant_types": [ "client_credentials" @@ -1575,7 +1574,8 @@ "rotation_type": "non-rotating" }, "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post" + "token_endpoint_auth_method": "client_secret_post", + "cross_origin_authentication": false }, "status": 201, "response": { @@ -1586,7 +1586,6 @@ "client_metadata": { "foo": "bar" }, - "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -1600,6 +1599,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "encrypted": true, "signing_keys": [ { @@ -1609,7 +1609,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", + "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1634,7 +1634,6 @@ "body": { "name": "Terraform Provider", "app_type": "non_interactive", - "cross_origin_auth": false, "custom_login_page_on": true, "grant_types": [ "client_credentials" @@ -1657,7 +1656,8 @@ "rotation_type": "non-rotating" }, "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post" + "token_endpoint_auth_method": "client_secret_post", + "cross_origin_authentication": false }, "status": 201, "response": { @@ -1665,7 +1665,6 @@ "global": false, "is_token_endpoint_ip_header_trusted": false, "name": "Terraform Provider", - "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -1679,6 +1678,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "encrypted": true, "signing_keys": [ { @@ -1688,7 +1688,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", + "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1711,18 +1711,22 @@ "method": "POST", "path": "/api/v2/clients", "body": { - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "app_type": "spa", + "callbacks": [ + "http://localhost:3000" + ], "client_aliases": [], "client_metadata": {}, - "cross_origin_auth": false, "custom_login_page_on": true, "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" ], "is_first_party": true, "is_token_endpoint_ip_header_trusted": false, @@ -1739,30 +1743,37 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post" + "token_endpoint_auth_method": "none", + "web_origins": [ + "http://localhost:3000" + ], + "cross_origin_authentication": false }, "status": 201, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -1772,19 +1783,19 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "encrypted": true, "signing_keys": [ { @@ -1794,7 +1805,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", + "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1803,12 +1814,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -1820,23 +1834,17 @@ "method": "POST", "path": "/api/v2/clients", "body": { - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "app_type": "spa", - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_aliases": [], "client_metadata": {}, - "cross_origin_auth": false, "custom_login_page_on": true, "grant_types": [ "authorization_code", "implicit", - "refresh_token" + "refresh_token", + "client_credentials" ], "is_first_party": true, "is_token_endpoint_ip_header_trusted": false, @@ -1853,37 +1861,30 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, - "token_endpoint_auth_method": "none", - "web_origins": [ - "http://localhost:3000" - ] + "token_endpoint_auth_method": "client_secret_post", + "cross_origin_authentication": false }, "status": 201, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -1893,18 +1894,20 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "encrypted": true, "signing_keys": [ { @@ -1914,7 +1917,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", + "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1923,15 +1926,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -1949,7 +1949,6 @@ "callbacks": [], "client_aliases": [], "client_metadata": {}, - "cross_origin_auth": false, "custom_login_page_on": true, "grant_types": [ "client_credentials" @@ -1980,7 +1979,8 @@ "rotation_type": "non-rotating" }, "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post" + "token_endpoint_auth_method": "client_secret_post", + "cross_origin_authentication": false }, "status": 201, "response": { @@ -1991,7 +1991,6 @@ "allowed_clients": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -2013,6 +2012,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "encrypted": true, "signing_keys": [ { @@ -2022,7 +2022,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2086,13 +2086,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/push-notification", + "path": "/api/v2/guardian/factors/webauthn-roaming", "body": { - "enabled": true + "enabled": false }, "status": 200, "response": { - "enabled": true + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -2100,13 +2100,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", + "path": "/api/v2/guardian/factors/push-notification", "body": { - "enabled": false + "enabled": true }, "status": 200, "response": { - "enabled": false + "enabled": true }, "rawHeaders": [], "responseIsBinary": false @@ -2114,7 +2114,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-platform", + "path": "/api/v2/guardian/factors/sms", "body": { "enabled": false }, @@ -2128,7 +2128,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/webauthn-platform", "body": { "enabled": false }, @@ -2220,7 +2220,7 @@ "response": { "actions": [ { - "id": "40d899f3-a209-42a2-a3ed-39e764dcbc33", + "id": "2b25f34b-cc41-4b78-8eb0-861be0f30f1d", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -2228,34 +2228,34 @@ "version": "v1" } ], - "created_at": "2025-12-11T11:30:13.629492200Z", - "updated_at": "2025-12-16T05:15:01.577210494Z", + "created_at": "2025-12-16T08:57:07.885769307Z", + "updated_at": "2025-12-16T08:58:22.911650706Z", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], "runtime": "node22", "status": "built", "secrets": [], "current_version": { - "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", + "id": "77a70d48-694c-4055-becb-b10b99ee73f4", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "runtime": "node22", "status": "BUILT", - "number": 5, - "build_time": "2025-12-16T05:15:03.730905338Z", - "created_at": "2025-12-16T05:15:03.656132145Z", - "updated_at": "2025-12-16T05:15:03.732003986Z" + "number": 2, + "build_time": "2025-12-16T08:58:23.733386236Z", + "created_at": "2025-12-16T08:58:23.642622798Z", + "updated_at": "2025-12-16T08:58:23.734859050Z" }, "deployed_version": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", + "id": "77a70d48-694c-4055-becb-b10b99ee73f4", "deployed": true, - "number": 5, - "built_at": "2025-12-16T05:15:03.730905338Z", + "number": 2, + "built_at": "2025-12-16T08:58:23.733386236Z", "secrets": [], "status": "built", - "created_at": "2025-12-16T05:15:03.656132145Z", - "updated_at": "2025-12-16T05:15:03.732003986Z", + "created_at": "2025-12-16T08:58:23.642622798Z", + "updated_at": "2025-12-16T08:58:23.734859050Z", "runtime": "node22", "supported_triggers": [ { @@ -2292,7 +2292,7 @@ }, "status": 201, "response": { - "id": "e69869b2-169a-4df9-9326-4447818092f6", + "id": "13228a5d-a06b-4e51-89aa-45b56efde856", "name": "My Custom Action", "supported_triggers": [ { @@ -2300,8 +2300,8 @@ "version": "v2" } ], - "created_at": "2025-12-16T05:17:04.860907359Z", - "updated_at": "2025-12-16T05:17:04.867817351Z", + "created_at": "2025-12-16T08:59:08.956810259Z", + "updated_at": "2025-12-16T08:59:08.967618945Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", @@ -2321,7 +2321,7 @@ "response": { "actions": [ { - "id": "40d899f3-a209-42a2-a3ed-39e764dcbc33", + "id": "2b25f34b-cc41-4b78-8eb0-861be0f30f1d", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -2329,34 +2329,34 @@ "version": "v1" } ], - "created_at": "2025-12-11T11:30:13.629492200Z", - "updated_at": "2025-12-16T05:15:01.577210494Z", + "created_at": "2025-12-16T08:57:07.885769307Z", + "updated_at": "2025-12-16T08:58:22.911650706Z", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], "runtime": "node22", "status": "built", "secrets": [], "current_version": { - "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", + "id": "77a70d48-694c-4055-becb-b10b99ee73f4", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "runtime": "node22", "status": "BUILT", - "number": 5, - "build_time": "2025-12-16T05:15:03.730905338Z", - "created_at": "2025-12-16T05:15:03.656132145Z", - "updated_at": "2025-12-16T05:15:03.732003986Z" + "number": 2, + "build_time": "2025-12-16T08:58:23.733386236Z", + "created_at": "2025-12-16T08:58:23.642622798Z", + "updated_at": "2025-12-16T08:58:23.734859050Z" }, "deployed_version": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", + "id": "77a70d48-694c-4055-becb-b10b99ee73f4", "deployed": true, - "number": 5, - "built_at": "2025-12-16T05:15:03.730905338Z", + "number": 2, + "built_at": "2025-12-16T08:58:23.733386236Z", "secrets": [], "status": "built", - "created_at": "2025-12-16T05:15:03.656132145Z", - "updated_at": "2025-12-16T05:15:03.732003986Z", + "created_at": "2025-12-16T08:58:23.642622798Z", + "updated_at": "2025-12-16T08:58:23.734859050Z", "runtime": "node22", "supported_triggers": [ { @@ -2368,7 +2368,7 @@ "all_changes_deployed": true }, { - "id": "e69869b2-169a-4df9-9326-4447818092f6", + "id": "13228a5d-a06b-4e51-89aa-45b56efde856", "name": "My Custom Action", "supported_triggers": [ { @@ -2376,8 +2376,8 @@ "version": "v2" } ], - "created_at": "2025-12-16T05:17:04.860907359Z", - "updated_at": "2025-12-16T05:17:04.867817351Z", + "created_at": "2025-12-16T08:59:08.956810259Z", + "updated_at": "2025-12-16T08:59:08.967618945Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", @@ -2395,19 +2395,19 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "POST", - "path": "/api/v2/actions/actions/e69869b2-169a-4df9-9326-4447818092f6/deploy", + "path": "/api/v2/actions/actions/13228a5d-a06b-4e51-89aa-45b56efde856/deploy", "body": "", "status": 200, "response": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "a4d7af33-adee-49de-9898-744df792436e", + "id": "22e4811c-46a6-4d67-8fb0-ad94a4289752", "deployed": false, "number": 1, "secrets": [], "status": "built", - "created_at": "2025-12-16T05:17:06.028561552Z", - "updated_at": "2025-12-16T05:17:06.028561552Z", + "created_at": "2025-12-16T08:59:09.734430679Z", + "updated_at": "2025-12-16T08:59:09.734430679Z", "runtime": "node18", "supported_triggers": [ { @@ -2416,7 +2416,7 @@ } ], "action": { - "id": "e69869b2-169a-4df9-9326-4447818092f6", + "id": "13228a5d-a06b-4e51-89aa-45b56efde856", "name": "My Custom Action", "supported_triggers": [ { @@ -2424,14 +2424,42 @@ "version": "v2" } ], - "created_at": "2025-12-16T05:17:04.860907359Z", - "updated_at": "2025-12-16T05:17:04.860907359Z", + "created_at": "2025-12-16T08:59:08.956810259Z", + "updated_at": "2025-12-16T08:59:08.956810259Z", "all_changes_deployed": false } }, "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/breached-password-detection", + "body": { + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard" + }, + "status": 200, + "response": { + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard", + "stage": { + "pre-user-registration": { + "shields": [] + }, + "pre-change-password": { + "shields": [] + } + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -2510,34 +2538,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/breached-password-detection", - "body": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard" - }, - "status": 200, - "response": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard", - "stage": { - "pre-user-registration": { - "shields": [] - }, - "pre-change-password": { - "shields": [] - } - } - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -2565,7 +2565,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-16T05:15:07.563Z", + "updated_at": "2025-12-16T08:58:25.157Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] @@ -2610,7 +2610,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-16T05:17:08.381Z", + "updated_at": "2025-12-16T08:59:10.887Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" }, "rawHeaders": [], @@ -2852,7 +2852,7 @@ "subject": "deprecated" } ], - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2876,7 +2876,6 @@ "allowed_clients": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -2898,6 +2897,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -2905,7 +2905,7 @@ "subject": "deprecated" } ], - "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", + "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2925,12 +2925,20 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -2943,6 +2951,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -2950,7 +2959,8 @@ "subject": "deprecated" } ], - "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", + "allowed_origins": [], + "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2958,32 +2968,27 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -2996,6 +3001,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -3003,8 +3009,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3012,16 +3017,11 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { @@ -3029,7 +3029,6 @@ "global": false, "is_token_endpoint_ip_header_trusted": false, "name": "Terraform Provider", - "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -3043,6 +3042,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -3050,7 +3050,7 @@ "subject": "deprecated" } ], - "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", + "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3069,11 +3069,15 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -3083,19 +3087,19 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -3103,7 +3107,7 @@ "subject": "deprecated" } ], - "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", + "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3112,12 +3116,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -3125,16 +3132,10 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -3144,18 +3145,20 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -3163,7 +3166,7 @@ "subject": "deprecated" } ], - "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", + "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3172,15 +3175,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -3192,7 +3192,6 @@ "allowed_clients": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -3214,6 +3213,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -3221,7 +3221,7 @@ "subject": "deprecated" } ], - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3288,7 +3288,7 @@ "response": { "connections": [ { - "id": "con_4jeiJ5EmqMspBjmK", + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -3325,7 +3325,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -3343,7 +3343,7 @@ "response": { "connections": [ { - "id": "con_4jeiJ5EmqMspBjmK", + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -3380,7 +3380,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -3392,13 +3392,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK/clients?take=50", + "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn" + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -3411,13 +3411,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK/clients?take=50", + "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn" + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -3435,8 +3435,8 @@ "name": "boo-baz-db-connection-test", "strategy": "auth0", "enabled_clients": [ - "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", - "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" ], "is_domain_connection": false, "options": { @@ -3480,7 +3480,7 @@ }, "status": 201, "response": { - "id": "con_5m5GpC2yhTh0g4cn", + "id": "con_cls5o7ko4UNCAbi5", "options": { "mfa": { "active": true, @@ -3540,8 +3540,8 @@ "active": false }, "enabled_clients": [ - "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", - "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" ], "realms": [ "boo-baz-db-connection-test" @@ -3559,7 +3559,7 @@ "response": { "connections": [ { - "id": "con_5m5GpC2yhTh0g4cn", + "id": "con_cls5o7ko4UNCAbi5", "options": { "mfa": { "active": true, @@ -3622,8 +3622,8 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", - "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" ] } ] @@ -3634,14 +3634,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_5m5GpC2yhTh0g4cn/clients", + "path": "/api/v2/connections/con_cls5o7ko4UNCAbi5/clients", "body": [ { - "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", "status": true }, { - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", "status": true } ], @@ -3743,7 +3743,7 @@ "subject": "deprecated" } ], - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3767,7 +3767,6 @@ "allowed_clients": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -3789,6 +3788,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -3796,7 +3796,7 @@ "subject": "deprecated" } ], - "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", + "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3816,12 +3816,20 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -3834,6 +3842,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -3841,7 +3850,8 @@ "subject": "deprecated" } ], - "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", + "allowed_origins": [], + "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3849,32 +3859,27 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" }, + "is_first_party": true, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -3887,6 +3892,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -3894,8 +3900,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3903,16 +3908,11 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { @@ -3920,7 +3920,6 @@ "global": false, "is_token_endpoint_ip_header_trusted": false, "name": "Terraform Provider", - "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -3934,6 +3933,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -3941,7 +3941,7 @@ "subject": "deprecated" } ], - "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", + "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3960,11 +3960,15 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -3974,19 +3978,19 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -3994,7 +3998,7 @@ "subject": "deprecated" } ], - "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", + "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4003,12 +4007,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -4016,16 +4023,10 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -4035,18 +4036,20 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -4054,7 +4057,7 @@ "subject": "deprecated" } ], - "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", + "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4063,15 +4066,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -4083,7 +4083,6 @@ "allowed_clients": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -4105,6 +4104,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -4112,7 +4112,7 @@ "subject": "deprecated" } ], - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4179,7 +4179,7 @@ "response": { "connections": [ { - "id": "con_5m5GpC2yhTh0g4cn", + "id": "con_cls5o7ko4UNCAbi5", "options": { "mfa": { "active": true, @@ -4242,12 +4242,39 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", - "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + ] + }, + { + "id": "con_mNzsGFqGTiRm8ck6", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + }, + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "google-oauth2" + ], + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "u6litSM0kteNcq1warh1NdRpv0MJYaWa" ] }, { - "id": "con_4jeiJ5EmqMspBjmK", + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -4284,7 +4311,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -4302,7 +4329,7 @@ "response": { "connections": [ { - "id": "con_5m5GpC2yhTh0g4cn", + "id": "con_cls5o7ko4UNCAbi5", "options": { "mfa": { "active": true, @@ -4365,12 +4392,39 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", - "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + ] + }, + { + "id": "con_mNzsGFqGTiRm8ck6", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + }, + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "google-oauth2" + ], + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "u6litSM0kteNcq1warh1NdRpv0MJYaWa" ] }, { - "id": "con_4jeiJ5EmqMspBjmK", + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -4407,7 +4461,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -4418,15 +4472,51 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/connections", - "body": { - "name": "google-oauth2", - "strategy": "google-oauth2", - "enabled_clients": [ - "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", - "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" - ], + "method": "GET", + "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6/clients?take=50", + "body": "", + "status": 200, + "response": { + "clients": [ + { + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + }, + { + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6/clients?take=50", + "body": "", + "status": 200, + "response": { + "clients": [ + { + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + }, + { + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6", + "body": { + "enabled_clients": [ + "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + ], "is_domain_connection": false, "options": { "email": true, @@ -4437,9 +4527,9 @@ "profile": true } }, - "status": 201, + "status": 200, "response": { - "id": "con_ZxRMPXT6qTFWMFqC", + "id": "con_mNzsGFqGTiRm8ck6", "options": { "email": true, "scope": [ @@ -4458,8 +4548,8 @@ "active": false }, "enabled_clients": [ - "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", - "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH" + "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" ], "realms": [ "google-oauth2" @@ -4468,57 +4558,17 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?take=1&name=google-oauth2&include_fields=true", - "body": "", - "status": 200, - "response": { - "connections": [ - { - "id": "con_ZxRMPXT6qTFWMFqC", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "google-oauth2" - ], - "enabled_clients": [ - "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", - "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_ZxRMPXT6qTFWMFqC/clients", + "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6/clients", "body": [ { - "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", + "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", "status": true }, { - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", "status": true } ], @@ -4657,7 +4707,7 @@ "subject": "deprecated" } ], - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4681,7 +4731,6 @@ "allowed_clients": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -4703,6 +4752,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -4710,7 +4760,7 @@ "subject": "deprecated" } ], - "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", + "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4730,12 +4780,20 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -4748,6 +4806,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -4755,7 +4814,8 @@ "subject": "deprecated" } ], - "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", + "allowed_origins": [], + "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4763,32 +4823,27 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" }, + "is_first_party": true, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -4801,6 +4856,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -4808,8 +4864,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4817,16 +4872,11 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { @@ -4834,7 +4884,6 @@ "global": false, "is_token_endpoint_ip_header_trusted": false, "name": "Terraform Provider", - "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -4848,6 +4897,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -4855,7 +4905,7 @@ "subject": "deprecated" } ], - "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", + "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4874,11 +4924,15 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -4888,19 +4942,19 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -4908,7 +4962,7 @@ "subject": "deprecated" } ], - "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", + "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4917,12 +4971,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -4930,16 +4987,10 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -4949,18 +5000,20 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -4968,7 +5021,7 @@ "subject": "deprecated" } ], - "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", + "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4977,15 +5030,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -4997,7 +5047,6 @@ "allowed_clients": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -5019,6 +5068,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -5026,7 +5076,7 @@ "subject": "deprecated" } ], - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5337,7 +5387,7 @@ "method": "POST", "path": "/api/v2/client-grants", "body": { - "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", + "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -5474,8 +5524,8 @@ }, "status": 201, "response": { - "id": "cgr_7XbO3vwF6ya6vZAL", - "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", + "id": "cgr_eG5gEZKTl5i0JlGq", + "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -5619,7 +5669,7 @@ "method": "POST", "path": "/api/v2/client-grants", "body": { - "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", + "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -5756,8 +5806,8 @@ }, "status": 201, "response": { - "id": "cgr_OaZij3g3Z6RowvIj", - "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", + "id": "cgr_S6EVifP1ifjC9uVQ", + "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -5921,7 +5971,7 @@ }, "status": 200, "response": { - "id": "rol_QUkalOG8CI2qT7cg", + "id": "rol_HL6iYQ8aOmwIQR4Z", "name": "Admin", "description": "Can read and write things" }, @@ -5938,7 +5988,7 @@ }, "status": 200, "response": { - "id": "rol_7lCohdU6rjViF9BJ", + "id": "rol_6MeXScuszPY3FHmj", "name": "Reader", "description": "Can only read things" }, @@ -5955,7 +6005,7 @@ }, "status": 200, "response": { - "id": "rol_ZVXhUfVpRnHPMoVN", + "id": "rol_FMUfBZQJE8GIpCD3", "name": "read_only", "description": "Read Only" }, @@ -5972,7 +6022,7 @@ }, "status": 200, "response": { - "id": "rol_wlMa14cHtcqr1KdB", + "id": "rol_3JfaQfAutCBGuyMm", "name": "read_osnly", "description": "Readz Only" }, @@ -6008,7 +6058,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-16T05:15:20.151Z", + "updated_at": "2025-12-16T08:58:36.015Z", "branding": { "colors": { "primary": "#19aecc" @@ -6084,7 +6134,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-16T05:17:30.753Z", + "updated_at": "2025-12-16T08:59:23.996Z", "branding": { "colors": { "primary": "#19aecc" @@ -6097,25 +6147,27 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/email-templates/verify_email", + "path": "/api/v2/email-templates/welcome_email", "body": { - "template": "verify_email", - "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", - "enabled": true, + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "enabled": false, "from": "", - "subject": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", "syntax": "liquid", - "urlLifetimeInSeconds": 432000 + "urlLifetimeInSeconds": 3600 }, "status": 200, "response": { - "template": "verify_email", - "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", "from": "", - "subject": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", "syntax": "liquid", - "urlLifetimeInSeconds": 432000, - "enabled": true + "urlLifetimeInSeconds": 3600, + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -6123,27 +6175,25 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/email-templates/welcome_email", + "path": "/api/v2/email-templates/verify_email", "body": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "enabled": false, + "template": "verify_email", + "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", + "enabled": true, "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", + "subject": "", "syntax": "liquid", - "urlLifetimeInSeconds": 3600 + "urlLifetimeInSeconds": 432000 }, "status": 200, "response": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", + "template": "verify_email", + "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", + "subject": "", "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false + "urlLifetimeInSeconds": 432000, + "enabled": true }, "rawHeaders": [], "responseIsBinary": false @@ -6253,7 +6303,7 @@ "subject": "deprecated" } ], - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6277,7 +6327,6 @@ "allowed_clients": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -6299,6 +6348,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -6306,7 +6356,7 @@ "subject": "deprecated" } ], - "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", + "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6326,14 +6376,22 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, @@ -6344,6 +6402,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -6351,7 +6410,8 @@ "subject": "deprecated" } ], - "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", + "allowed_origins": [], + "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6359,32 +6419,27 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" }, + "is_first_party": true, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -6397,6 +6452,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -6404,8 +6460,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6413,16 +6468,11 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { @@ -6430,7 +6480,6 @@ "global": false, "is_token_endpoint_ip_header_trusted": false, "name": "Terraform Provider", - "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -6444,6 +6493,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -6451,7 +6501,7 @@ "subject": "deprecated" } ], - "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", + "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6470,11 +6520,15 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -6484,19 +6538,19 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -6504,7 +6558,7 @@ "subject": "deprecated" } ], - "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", + "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6513,12 +6567,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -6526,16 +6583,10 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -6545,18 +6596,20 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -6564,7 +6617,7 @@ "subject": "deprecated" } ], - "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", + "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6573,15 +6626,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -6593,7 +6643,6 @@ "allowed_clients": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -6615,6 +6664,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -6622,7 +6672,7 @@ "subject": "deprecated" } ], - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6689,7 +6739,7 @@ "response": { "connections": [ { - "id": "con_5m5GpC2yhTh0g4cn", + "id": "con_cls5o7ko4UNCAbi5", "options": { "mfa": { "active": true, @@ -6752,12 +6802,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", - "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" ] }, { - "id": "con_ZxRMPXT6qTFWMFqC", + "id": "con_mNzsGFqGTiRm8ck6", "options": { "email": true, "scope": [ @@ -6779,12 +6829,12 @@ "google-oauth2" ], "enabled_clients": [ - "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", - "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH" + "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" ] }, { - "id": "con_4jeiJ5EmqMspBjmK", + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -6821,7 +6871,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -6833,534 +6883,290 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", + "path": "/api/v2/client-grants?take=50", "body": "", "status": 200, "response": { - "total": 10, - "start": 0, - "limit": 100, - "clients": [ - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", - "is_first_party": true, - "oidc_conformant": true, - "sso_disabled": false, - "cross_origin_auth": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "cross_origin_authentication": true, - "allowed_clients": [], - "callbacks": [], - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials", - "implicit", - "authorization_code", - "refresh_token" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", - "callbacks": [], - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, + "client_grants": [ { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "allowed_origins": [], - "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "web_origins": [], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso": false, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" + "id": "cgr_S6EVifP1ifjC9uVQ", + "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" ], - "custom_login_page_on": true + "subject_type": "client" }, { - "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], - "is_first_party": true, - "name": "All Applications", - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } + "id": "cgr_eG5gEZKTl5i0JlGq", + "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/client-grants?take=50", - "body": "", - "status": 200, - "response": { - "client_grants": [ + "subject_type": "client" + }, { - "id": "cgr_7XbO3vwF6ya6vZAL", - "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", + "id": "cgr_pbwejzhwoujrsNE8", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -7387,6 +7193,10 @@ "update:client_keys", "delete:client_keys", "create:client_keys", + "read:client_credentials", + "update:client_credentials", + "delete:client_credentials", + "create:client_credentials", "read:connections", "update:connections", "delete:connections", @@ -7476,10 +7286,19 @@ "read:entitlements", "read:attack_protection", "update:attack_protection", + "read:organizations_summary", + "create:authentication_methods", + "read:authentication_methods", + "update:authentication_methods", + "delete:authentication_methods", "read:organizations", "update:organizations", "create:organizations", "delete:organizations", + "read:organization_discovery_domains", + "update:organization_discovery_domains", + "create:organization_discovery_domains", + "delete:organization_discovery_domains", "create:organization_members", "read:organization_members", "delete:organization_members", @@ -7492,388 +7311,636 @@ "delete:organization_member_roles", "create:organization_invitations", "read:organization_invitations", - "delete:organization_invitations" + "delete:organization_invitations", + "read:scim_config", + "create:scim_config", + "update:scim_config", + "delete:scim_config", + "create:scim_token", + "read:scim_token", + "delete:scim_token", + "delete:phone_providers", + "create:phone_providers", + "read:phone_providers", + "update:phone_providers", + "delete:phone_templates", + "create:phone_templates", + "read:phone_templates", + "update:phone_templates", + "create:encryption_keys", + "read:encryption_keys", + "update:encryption_keys", + "delete:encryption_keys", + "read:sessions", + "update:sessions", + "delete:sessions", + "read:refresh_tokens", + "delete:refresh_tokens", + "create:self_service_profiles", + "read:self_service_profiles", + "update:self_service_profiles", + "delete:self_service_profiles", + "create:sso_access_tickets", + "delete:sso_access_tickets", + "read:forms", + "update:forms", + "delete:forms", + "create:forms", + "read:flows", + "update:flows", + "delete:flows", + "create:flows", + "read:flows_vault", + "read:flows_vault_connections", + "update:flows_vault_connections", + "delete:flows_vault_connections", + "create:flows_vault_connections", + "read:flows_executions", + "delete:flows_executions", + "read:connections_options", + "update:connections_options", + "read:self_service_profile_custom_texts", + "update:self_service_profile_custom_texts", + "create:network_acls", + "update:network_acls", + "read:network_acls", + "delete:network_acls", + "delete:vdcs_templates", + "read:vdcs_templates", + "create:vdcs_templates", + "update:vdcs_templates", + "create:custom_signing_keys", + "read:custom_signing_keys", + "update:custom_signing_keys", + "delete:custom_signing_keys", + "read:federated_connections_tokens", + "delete:federated_connections_tokens", + "create:user_attribute_profiles", + "read:user_attribute_profiles", + "update:user_attribute_profiles", + "delete:user_attribute_profiles", + "read:event_streams", + "create:event_streams", + "delete:event_streams", + "update:event_streams", + "read:event_deliveries", + "update:event_deliveries", + "create:connection_profiles", + "read:connection_profiles", + "update:connection_profiles", + "delete:connection_profiles", + "read:organization_client_grants", + "create:organization_client_grants", + "delete:organization_client_grants", + "read:security_metrics", + "read:connections_keys", + "update:connections_keys", + "create:connections_keys" + ], + "subject_type": "client" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "total": 10, + "start": 0, + "limit": 100, + "clients": [ + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Deploy CLI", + "is_first_party": true, + "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "cross_origin_authentication": true, + "allowed_clients": [], + "callbacks": [], + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials", + "implicit", + "authorization_code", + "refresh_token" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Default App", + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "subject_type": "client" + "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true }, { - "id": "cgr_OaZij3g3Z6RowvIj", - "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "allowed_origins": [], + "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "regular_web", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "web_origins": [], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "subject_type": "client" + "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true }, { - "id": "cgr_pbwejzhwoujrsNE8", - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:client_credentials", - "update:client_credentials", - "delete:client_credentials", - "create:client_credentials", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations_summary", - "create:authentication_methods", - "read:authentication_methods", - "update:authentication_methods", - "delete:authentication_methods", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "read:organization_discovery_domains", - "update:organization_discovery_domains", - "create:organization_discovery_domains", - "delete:organization_discovery_domains", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations", - "read:scim_config", - "create:scim_config", - "update:scim_config", - "delete:scim_config", - "create:scim_token", - "read:scim_token", - "delete:scim_token", - "delete:phone_providers", - "create:phone_providers", - "read:phone_providers", - "update:phone_providers", - "delete:phone_templates", - "create:phone_templates", - "read:phone_templates", - "update:phone_templates", - "create:encryption_keys", - "read:encryption_keys", - "update:encryption_keys", - "delete:encryption_keys", - "read:sessions", - "update:sessions", - "delete:sessions", - "read:refresh_tokens", - "delete:refresh_tokens", - "create:self_service_profiles", - "read:self_service_profiles", - "update:self_service_profiles", - "delete:self_service_profiles", - "create:sso_access_tickets", - "delete:sso_access_tickets", - "read:forms", - "update:forms", - "delete:forms", - "create:forms", - "read:flows", - "update:flows", - "delete:flows", - "create:flows", - "read:flows_vault", - "read:flows_vault_connections", - "update:flows_vault_connections", - "delete:flows_vault_connections", - "create:flows_vault_connections", - "read:flows_executions", - "delete:flows_executions", - "read:connections_options", - "update:connections_options", - "read:self_service_profile_custom_texts", - "update:self_service_profile_custom_texts", - "create:network_acls", - "update:network_acls", - "read:network_acls", - "delete:network_acls", - "delete:vdcs_templates", - "read:vdcs_templates", - "create:vdcs_templates", - "update:vdcs_templates", - "create:custom_signing_keys", - "read:custom_signing_keys", - "update:custom_signing_keys", - "delete:custom_signing_keys", - "read:federated_connections_tokens", - "delete:federated_connections_tokens", - "create:user_attribute_profiles", - "read:user_attribute_profiles", - "update:user_attribute_profiles", - "delete:user_attribute_profiles", - "read:event_streams", - "create:event_streams", - "delete:event_streams", - "update:event_streams", - "read:event_deliveries", - "update:event_deliveries", - "create:connection_profiles", - "read:connection_profiles", - "update:connection_profiles", - "delete:connection_profiles", - "read:organization_client_grants", - "create:organization_client_grants", - "delete:organization_client_grants", - "read:security_metrics", - "read:connections_keys", - "update:connections_keys", - "create:connections_keys" + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Terraform Provider", + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "subject_type": "client" + "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], + "client_metadata": {}, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "none", + "app_type": "spa", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "The Default App", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso": false, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": true, + "callbacks": [], + "is_first_party": true, + "name": "All Applications", + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" + ], + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true } ] }, "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "POST", + "path": "/api/v2/organizations", + "body": { + "name": "org2", + "display_name": "Organization2" + }, + "status": 201, + "response": { + "id": "org_4ljRqNj9r3hARo3g", + "display_name": "Organization2", + "name": "org2" + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "POST", @@ -7890,7 +7957,7 @@ }, "status": 201, "response": { - "id": "org_xx56mAIMVPiBVeuu", + "id": "org_TiDOQfO5mFtNEm4F", "display_name": "Organization", "name": "org1", "branding": { @@ -7903,23 +7970,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/organizations", - "body": { - "name": "org2", - "display_name": "Organization2" - }, - "status": 201, - "response": { - "id": "org_BF11sKCsVKejD9RE", - "display_name": "Organization2", - "name": "org2" - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -7944,7 +7994,7 @@ }, "status": 200, "response": { - "id": "lst_0000000000025583", + "id": "lst_0000000000025595", "name": "Suspended DD Log Stream", "type": "datadog", "status": "active", @@ -8009,14 +8059,14 @@ }, "status": 200, "response": { - "id": "lst_0000000000025584", + "id": "lst_0000000000025596", "name": "Amazon EventBridge", "type": "eventbridge", "status": "active", "sink": { "awsAccountId": "123456789012", "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-baf843b1-5e3d-4cfa-86b7-b0cec812ad73/auth0.logs" + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-2a1febfb-fae7-4ade-ac00-b462a0a18f30/auth0.logs" }, "filters": [ { @@ -8092,7 +8142,7 @@ "name": "Blank-form", "flow_count": 0, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-16T05:15:34.906Z" + "updated_at": "2025-12-16T08:58:46.399Z" } ] }, @@ -8178,7 +8228,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-16T05:15:34.906Z" + "updated_at": "2025-12-16T08:58:46.399Z" }, "rawHeaders": [], "responseIsBinary": false @@ -8303,7 +8353,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-16T05:17:40.044Z" + "updated_at": "2025-12-16T08:59:30.202Z" }, "rawHeaders": [], "responseIsBinary": false @@ -9529,7 +9579,7 @@ "subject": "deprecated" } ], - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9553,7 +9603,6 @@ "allowed_clients": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -9575,6 +9624,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -9582,7 +9632,7 @@ "subject": "deprecated" } ], - "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", + "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9602,12 +9652,20 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -9620,6 +9678,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -9627,7 +9686,8 @@ "subject": "deprecated" } ], - "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", + "allowed_origins": [], + "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9635,32 +9695,27 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" }, + "is_first_party": true, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -9673,6 +9728,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -9680,8 +9736,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9689,16 +9744,11 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { @@ -9706,7 +9756,6 @@ "global": false, "is_token_endpoint_ip_header_trusted": false, "name": "Terraform Provider", - "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -9720,6 +9769,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -9727,7 +9777,7 @@ "subject": "deprecated" } ], - "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", + "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9746,11 +9796,15 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -9760,19 +9814,19 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -9780,7 +9834,7 @@ "subject": "deprecated" } ], - "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", + "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9789,12 +9843,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -9802,16 +9859,10 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -9821,18 +9872,20 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -9840,7 +9893,7 @@ "subject": "deprecated" } ], - "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", + "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9849,15 +9902,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -9869,7 +9919,6 @@ "allowed_clients": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -9891,6 +9940,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -9898,7 +9948,7 @@ "subject": "deprecated" } ], - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9922,11 +9972,10 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "path": "/api/v2/clients/u6litSM0kteNcq1warh1NdRpv0MJYaWa", "body": { "name": "Default App", "callbacks": [], - "cross_origin_auth": false, "custom_login_page_on": true, "grant_types": [ "authorization_code", @@ -9950,7 +9999,8 @@ "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, - "sso_disabled": false + "sso_disabled": false, + "cross_origin_authentication": false }, "status": 200, "response": { @@ -9980,7 +10030,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10016,7 +10066,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/push-notification", + "path": "/api/v2/guardian/factors/sms", "body": { "enabled": false }, @@ -10030,7 +10080,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/recovery-code", + "path": "/api/v2/guardian/factors/push-notification", "body": { "enabled": false }, @@ -10044,7 +10094,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/email", + "path": "/api/v2/guardian/factors/otp", "body": { "enabled": false }, @@ -10058,7 +10108,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/webauthn-roaming", "body": { "enabled": false }, @@ -10072,7 +10122,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-platform", + "path": "/api/v2/guardian/factors/email", "body": { "enabled": false }, @@ -10086,7 +10136,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", + "path": "/api/v2/guardian/factors/webauthn-platform", "body": { "enabled": false }, @@ -10100,7 +10150,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/otp", + "path": "/api/v2/guardian/factors/recovery-code", "body": { "enabled": false }, @@ -10173,7 +10223,7 @@ "response": { "actions": [ { - "id": "40d899f3-a209-42a2-a3ed-39e764dcbc33", + "id": "2b25f34b-cc41-4b78-8eb0-861be0f30f1d", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -10181,34 +10231,34 @@ "version": "v1" } ], - "created_at": "2025-12-11T11:30:13.629492200Z", - "updated_at": "2025-12-16T05:15:01.577210494Z", + "created_at": "2025-12-16T08:57:07.885769307Z", + "updated_at": "2025-12-16T08:58:22.911650706Z", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], "runtime": "node22", "status": "built", "secrets": [], "current_version": { - "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", + "id": "77a70d48-694c-4055-becb-b10b99ee73f4", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "runtime": "node22", "status": "BUILT", - "number": 5, - "build_time": "2025-12-16T05:15:03.730905338Z", - "created_at": "2025-12-16T05:15:03.656132145Z", - "updated_at": "2025-12-16T05:15:03.732003986Z" + "number": 2, + "build_time": "2025-12-16T08:58:23.733386236Z", + "created_at": "2025-12-16T08:58:23.642622798Z", + "updated_at": "2025-12-16T08:58:23.734859050Z" }, "deployed_version": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", + "id": "77a70d48-694c-4055-becb-b10b99ee73f4", "deployed": true, - "number": 5, - "built_at": "2025-12-16T05:15:03.730905338Z", + "number": 2, + "built_at": "2025-12-16T08:58:23.733386236Z", "secrets": [], "status": "built", - "created_at": "2025-12-16T05:15:03.656132145Z", - "updated_at": "2025-12-16T05:15:03.732003986Z", + "created_at": "2025-12-16T08:58:23.642622798Z", + "updated_at": "2025-12-16T08:58:23.734859050Z", "runtime": "node22", "supported_triggers": [ { @@ -10220,7 +10270,7 @@ "all_changes_deployed": true }, { - "id": "e69869b2-169a-4df9-9326-4447818092f6", + "id": "13228a5d-a06b-4e51-89aa-45b56efde856", "name": "My Custom Action", "supported_triggers": [ { @@ -10228,34 +10278,34 @@ "version": "v2" } ], - "created_at": "2025-12-16T05:17:04.860907359Z", - "updated_at": "2025-12-16T05:17:04.867817351Z", + "created_at": "2025-12-16T08:59:08.956810259Z", + "updated_at": "2025-12-16T08:59:08.967618945Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "built", "secrets": [], "current_version": { - "id": "a4d7af33-adee-49de-9898-744df792436e", + "id": "22e4811c-46a6-4d67-8fb0-ad94a4289752", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node18", "status": "BUILT", "number": 1, - "build_time": "2025-12-16T05:17:06.111365724Z", - "created_at": "2025-12-16T05:17:06.028561552Z", - "updated_at": "2025-12-16T05:17:06.112541842Z" + "build_time": "2025-12-16T08:59:09.806979854Z", + "created_at": "2025-12-16T08:59:09.734430679Z", + "updated_at": "2025-12-16T08:59:09.808139988Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "a4d7af33-adee-49de-9898-744df792436e", + "id": "22e4811c-46a6-4d67-8fb0-ad94a4289752", "deployed": true, "number": 1, - "built_at": "2025-12-16T05:17:06.111365724Z", + "built_at": "2025-12-16T08:59:09.806979854Z", "secrets": [], "status": "built", - "created_at": "2025-12-16T05:17:06.028561552Z", - "updated_at": "2025-12-16T05:17:06.112541842Z", + "created_at": "2025-12-16T08:59:09.734430679Z", + "updated_at": "2025-12-16T08:59:09.808139988Z", "runtime": "node18", "supported_triggers": [ { @@ -10282,7 +10332,7 @@ "response": { "actions": [ { - "id": "40d899f3-a209-42a2-a3ed-39e764dcbc33", + "id": "2b25f34b-cc41-4b78-8eb0-861be0f30f1d", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -10290,34 +10340,34 @@ "version": "v1" } ], - "created_at": "2025-12-11T11:30:13.629492200Z", - "updated_at": "2025-12-16T05:15:01.577210494Z", + "created_at": "2025-12-16T08:57:07.885769307Z", + "updated_at": "2025-12-16T08:58:22.911650706Z", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], "runtime": "node22", "status": "built", "secrets": [], "current_version": { - "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", + "id": "77a70d48-694c-4055-becb-b10b99ee73f4", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "runtime": "node22", "status": "BUILT", - "number": 5, - "build_time": "2025-12-16T05:15:03.730905338Z", - "created_at": "2025-12-16T05:15:03.656132145Z", - "updated_at": "2025-12-16T05:15:03.732003986Z" + "number": 2, + "build_time": "2025-12-16T08:58:23.733386236Z", + "created_at": "2025-12-16T08:58:23.642622798Z", + "updated_at": "2025-12-16T08:58:23.734859050Z" }, "deployed_version": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", + "id": "77a70d48-694c-4055-becb-b10b99ee73f4", "deployed": true, - "number": 5, - "built_at": "2025-12-16T05:15:03.730905338Z", + "number": 2, + "built_at": "2025-12-16T08:58:23.733386236Z", "secrets": [], "status": "built", - "created_at": "2025-12-16T05:15:03.656132145Z", - "updated_at": "2025-12-16T05:15:03.732003986Z", + "created_at": "2025-12-16T08:58:23.642622798Z", + "updated_at": "2025-12-16T08:58:23.734859050Z", "runtime": "node22", "supported_triggers": [ { @@ -10329,7 +10379,7 @@ "all_changes_deployed": true }, { - "id": "e69869b2-169a-4df9-9326-4447818092f6", + "id": "13228a5d-a06b-4e51-89aa-45b56efde856", "name": "My Custom Action", "supported_triggers": [ { @@ -10337,34 +10387,34 @@ "version": "v2" } ], - "created_at": "2025-12-16T05:17:04.860907359Z", - "updated_at": "2025-12-16T05:17:04.867817351Z", + "created_at": "2025-12-16T08:59:08.956810259Z", + "updated_at": "2025-12-16T08:59:08.967618945Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "built", "secrets": [], "current_version": { - "id": "a4d7af33-adee-49de-9898-744df792436e", + "id": "22e4811c-46a6-4d67-8fb0-ad94a4289752", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node18", "status": "BUILT", "number": 1, - "build_time": "2025-12-16T05:17:06.111365724Z", - "created_at": "2025-12-16T05:17:06.028561552Z", - "updated_at": "2025-12-16T05:17:06.112541842Z" + "build_time": "2025-12-16T08:59:09.806979854Z", + "created_at": "2025-12-16T08:59:09.734430679Z", + "updated_at": "2025-12-16T08:59:09.808139988Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "a4d7af33-adee-49de-9898-744df792436e", + "id": "22e4811c-46a6-4d67-8fb0-ad94a4289752", "deployed": true, "number": 1, - "built_at": "2025-12-16T05:17:06.111365724Z", + "built_at": "2025-12-16T08:59:09.806979854Z", "secrets": [], "status": "built", - "created_at": "2025-12-16T05:17:06.028561552Z", - "updated_at": "2025-12-16T05:17:06.112541842Z", + "created_at": "2025-12-16T08:59:09.734430679Z", + "updated_at": "2025-12-16T08:59:09.808139988Z", "runtime": "node18", "supported_triggers": [ { @@ -10579,7 +10629,7 @@ "subject": "deprecated" } ], - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10603,7 +10653,6 @@ "allowed_clients": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -10625,6 +10674,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -10632,7 +10682,7 @@ "subject": "deprecated" } ], - "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", + "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10652,12 +10702,20 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -10670,6 +10728,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -10677,7 +10736,8 @@ "subject": "deprecated" } ], - "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", + "allowed_origins": [], + "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10685,32 +10745,27 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" }, + "is_first_party": true, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -10723,6 +10778,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -10730,8 +10786,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10739,16 +10794,11 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { @@ -10756,7 +10806,6 @@ "global": false, "is_token_endpoint_ip_header_trusted": false, "name": "Terraform Provider", - "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -10770,6 +10819,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -10777,7 +10827,7 @@ "subject": "deprecated" } ], - "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", + "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10796,11 +10846,15 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -10810,19 +10864,19 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -10830,7 +10884,7 @@ "subject": "deprecated" } ], - "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", + "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10839,12 +10893,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -10852,16 +10909,10 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -10871,18 +10922,20 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -10890,7 +10943,7 @@ "subject": "deprecated" } ], - "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", + "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10899,15 +10952,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -10919,7 +10969,6 @@ "allowed_clients": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -10941,6 +10990,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -10948,7 +10998,7 @@ "subject": "deprecated" } ], - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11015,7 +11065,7 @@ "response": { "connections": [ { - "id": "con_5m5GpC2yhTh0g4cn", + "id": "con_cls5o7ko4UNCAbi5", "options": { "mfa": { "active": true, @@ -11078,12 +11128,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", - "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" ] }, { - "id": "con_4jeiJ5EmqMspBjmK", + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -11120,7 +11170,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -11138,7 +11188,7 @@ "response": { "connections": [ { - "id": "con_5m5GpC2yhTh0g4cn", + "id": "con_cls5o7ko4UNCAbi5", "options": { "mfa": { "active": true, @@ -11201,12 +11251,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", - "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" ] }, { - "id": "con_4jeiJ5EmqMspBjmK", + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -11243,7 +11293,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -11255,16 +11305,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_5m5GpC2yhTh0g4cn/clients?take=50", + "path": "/api/v2/connections/con_cls5o7ko4UNCAbi5/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW" + "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf" }, { - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" } ] }, @@ -11274,13 +11324,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK/clients?take=50", + "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn" + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -11293,16 +11343,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_5m5GpC2yhTh0g4cn/clients?take=50", + "path": "/api/v2/connections/con_cls5o7ko4UNCAbi5/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW" + "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf" }, { - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" } ] }, @@ -11312,13 +11362,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK/clients?take=50", + "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn" + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -11331,11 +11381,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK", + "path": "/api/v2/connections/con_itdctyRSC3HQmlX0", "body": "", "status": 200, "response": { - "id": "con_4jeiJ5EmqMspBjmK", + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -11369,7 +11419,7 @@ "active": false }, "enabled_clients": [ - "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ], "realms": [ @@ -11382,11 +11432,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK", + "path": "/api/v2/connections/con_itdctyRSC3HQmlX0", "body": { "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn" + "u6litSM0kteNcq1warh1NdRpv0MJYaWa" ], "is_domain_connection": false, "options": { @@ -11418,7 +11468,7 @@ }, "status": 200, "response": { - "id": "con_4jeiJ5EmqMspBjmK", + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -11453,7 +11503,7 @@ }, "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn" + "u6litSM0kteNcq1warh1NdRpv0MJYaWa" ], "realms": [ "Username-Password-Authentication" @@ -11465,14 +11515,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK/clients", + "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients", "body": [ { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "status": true }, { - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "status": true } ], @@ -11574,7 +11624,7 @@ "subject": "deprecated" } ], - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11598,7 +11648,6 @@ "allowed_clients": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -11620,6 +11669,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -11627,7 +11677,7 @@ "subject": "deprecated" } ], - "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", + "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11647,12 +11697,20 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -11665,6 +11723,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -11672,7 +11731,8 @@ "subject": "deprecated" } ], - "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", + "allowed_origins": [], + "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11680,32 +11740,27 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" }, + "is_first_party": true, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -11718,6 +11773,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -11725,8 +11781,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11734,16 +11789,11 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { @@ -11751,7 +11801,6 @@ "global": false, "is_token_endpoint_ip_header_trusted": false, "name": "Terraform Provider", - "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -11765,6 +11814,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -11772,7 +11822,7 @@ "subject": "deprecated" } ], - "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", + "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11791,11 +11841,15 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -11805,19 +11859,19 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -11825,7 +11879,7 @@ "subject": "deprecated" } ], - "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", + "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11834,12 +11888,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -11847,16 +11904,10 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -11866,18 +11917,20 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -11885,7 +11938,7 @@ "subject": "deprecated" } ], - "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", + "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11894,15 +11947,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -11914,7 +11964,6 @@ "allowed_clients": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -11936,6 +11985,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -11943,7 +11993,7 @@ "subject": "deprecated" } ], - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12010,7 +12060,7 @@ "response": { "connections": [ { - "id": "con_5m5GpC2yhTh0g4cn", + "id": "con_cls5o7ko4UNCAbi5", "options": { "mfa": { "active": true, @@ -12073,12 +12123,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", - "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" ] }, { - "id": "con_ZxRMPXT6qTFWMFqC", + "id": "con_mNzsGFqGTiRm8ck6", "options": { "email": true, "scope": [ @@ -12100,12 +12150,12 @@ "google-oauth2" ], "enabled_clients": [ - "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", - "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH" + "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" ] }, { - "id": "con_4jeiJ5EmqMspBjmK", + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -12142,7 +12192,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -12160,7 +12210,7 @@ "response": { "connections": [ { - "id": "con_5m5GpC2yhTh0g4cn", + "id": "con_cls5o7ko4UNCAbi5", "options": { "mfa": { "active": true, @@ -12223,12 +12273,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", - "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" ] }, { - "id": "con_ZxRMPXT6qTFWMFqC", + "id": "con_mNzsGFqGTiRm8ck6", "options": { "email": true, "scope": [ @@ -12250,12 +12300,12 @@ "google-oauth2" ], "enabled_clients": [ - "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", - "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH" + "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" ] }, { - "id": "con_4jeiJ5EmqMspBjmK", + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -12292,7 +12342,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -12304,16 +12354,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_ZxRMPXT6qTFWMFqC/clients?take=50", + "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l" }, { - "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH" + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" } ] }, @@ -12323,16 +12373,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_ZxRMPXT6qTFWMFqC/clients?take=50", + "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l" }, { - "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH" + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" } ] }, @@ -12447,7 +12497,7 @@ "subject": "deprecated" } ], - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12471,7 +12521,6 @@ "allowed_clients": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -12493,6 +12542,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -12500,7 +12550,7 @@ "subject": "deprecated" } ], - "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", + "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12520,12 +12570,20 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -12538,6 +12596,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -12545,7 +12604,8 @@ "subject": "deprecated" } ], - "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", + "allowed_origins": [], + "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12553,32 +12613,27 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" }, + "is_first_party": true, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -12591,6 +12646,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -12598,8 +12654,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12607,16 +12662,11 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { @@ -12624,7 +12674,6 @@ "global": false, "is_token_endpoint_ip_header_trusted": false, "name": "Terraform Provider", - "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -12638,6 +12687,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -12645,7 +12695,7 @@ "subject": "deprecated" } ], - "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", + "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12664,11 +12714,15 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -12678,19 +12732,19 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -12698,7 +12752,7 @@ "subject": "deprecated" } ], - "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", + "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12707,12 +12761,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -12720,16 +12777,10 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -12739,18 +12790,20 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -12758,7 +12811,7 @@ "subject": "deprecated" } ], - "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", + "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12767,15 +12820,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -12787,7 +12837,6 @@ "allowed_clients": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -12809,6 +12858,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -12816,7 +12866,7 @@ "subject": "deprecated" } ], - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12883,8 +12933,8 @@ "response": { "client_grants": [ { - "id": "cgr_7XbO3vwF6ya6vZAL", - "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", + "id": "cgr_S6EVifP1ifjC9uVQ", + "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -13021,8 +13071,8 @@ "subject_type": "client" }, { - "id": "cgr_OaZij3g3Z6RowvIj", - "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", + "id": "cgr_eG5gEZKTl5i0JlGq", + "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -13407,22 +13457,22 @@ "response": { "roles": [ { - "id": "rol_QUkalOG8CI2qT7cg", + "id": "rol_HL6iYQ8aOmwIQR4Z", "name": "Admin", "description": "Can read and write things" }, { - "id": "rol_7lCohdU6rjViF9BJ", + "id": "rol_6MeXScuszPY3FHmj", "name": "Reader", "description": "Can only read things" }, { - "id": "rol_ZVXhUfVpRnHPMoVN", + "id": "rol_FMUfBZQJE8GIpCD3", "name": "read_only", "description": "Read Only" }, { - "id": "rol_wlMa14cHtcqr1KdB", + "id": "rol_3JfaQfAutCBGuyMm", "name": "read_osnly", "description": "Readz Only" } @@ -13437,7 +13487,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_QUkalOG8CI2qT7cg/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_HL6iYQ8aOmwIQR4Z/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -13452,7 +13502,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_QUkalOG8CI2qT7cg/permissions?per_page=100&page=1&include_totals=true", + "path": "/api/v2/roles/rol_HL6iYQ8aOmwIQR4Z/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { @@ -13467,7 +13517,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_7lCohdU6rjViF9BJ/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_6MeXScuszPY3FHmj/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -13482,7 +13532,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_7lCohdU6rjViF9BJ/permissions?per_page=100&page=1&include_totals=true", + "path": "/api/v2/roles/rol_6MeXScuszPY3FHmj/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { @@ -13497,7 +13547,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_ZVXhUfVpRnHPMoVN/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_FMUfBZQJE8GIpCD3/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -13512,7 +13562,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_ZVXhUfVpRnHPMoVN/permissions?per_page=100&page=1&include_totals=true", + "path": "/api/v2/roles/rol_FMUfBZQJE8GIpCD3/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { @@ -13527,7 +13577,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_wlMa14cHtcqr1KdB/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_3JfaQfAutCBGuyMm/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -13542,7 +13592,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_wlMa14cHtcqr1KdB/permissions?per_page=100&page=1&include_totals=true", + "path": "/api/v2/roles/rol_3JfaQfAutCBGuyMm/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { @@ -13563,7 +13613,12 @@ "response": { "organizations": [ { - "id": "org_xx56mAIMVPiBVeuu", + "id": "org_4ljRqNj9r3hARo3g", + "name": "org2", + "display_name": "Organization2" + }, + { + "id": "org_TiDOQfO5mFtNEm4F", "name": "org1", "display_name": "Organization", "branding": { @@ -13572,11 +13627,6 @@ "primary": "#57ddff" } } - }, - { - "id": "org_BF11sKCsVKejD9RE", - "name": "org2", - "display_name": "Organization2" } ] }, @@ -13676,7 +13726,7 @@ "subject": "deprecated" } ], - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13700,7 +13750,6 @@ "allowed_clients": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -13722,6 +13771,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -13729,7 +13779,7 @@ "subject": "deprecated" } ], - "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", + "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13749,12 +13799,20 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -13767,6 +13825,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -13774,7 +13833,8 @@ "subject": "deprecated" } ], - "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", + "allowed_origins": [], + "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13782,32 +13842,27 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" }, + "is_first_party": true, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -13820,6 +13875,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -13827,8 +13883,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13836,16 +13891,11 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { @@ -13853,7 +13903,6 @@ "global": false, "is_token_endpoint_ip_header_trusted": false, "name": "Terraform Provider", - "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -13867,6 +13916,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -13874,7 +13924,7 @@ "subject": "deprecated" } ], - "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", + "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13893,11 +13943,15 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -13907,19 +13961,19 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -13927,7 +13981,7 @@ "subject": "deprecated" } ], - "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", + "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13936,12 +13990,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -13949,16 +14006,10 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -13968,18 +14019,20 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -13987,7 +14040,7 @@ "subject": "deprecated" } ], - "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", + "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13996,15 +14049,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -14016,7 +14066,6 @@ "allowed_clients": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -14038,6 +14087,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -14045,7 +14095,7 @@ "subject": "deprecated" } ], - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14106,7 +14156,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -14121,7 +14171,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/enabled_connections?page=1&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/enabled_connections?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -14136,7 +14186,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -14151,7 +14201,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/client-grants?page=1&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/client-grants?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -14166,7 +14216,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/discovery-domains?take=50", + "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -14178,7 +14228,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/discovery-domains?take=50", + "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -14190,7 +14240,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -14205,7 +14255,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/enabled_connections?page=1&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/enabled_connections?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -14220,7 +14270,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -14235,7 +14285,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/client-grants?page=1&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/client-grants?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -14250,7 +14300,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/discovery-domains?take=50", + "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -14262,7 +14312,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/discovery-domains?take=50", + "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -14280,7 +14330,7 @@ "response": { "connections": [ { - "id": "con_5m5GpC2yhTh0g4cn", + "id": "con_cls5o7ko4UNCAbi5", "options": { "mfa": { "active": true, @@ -14342,79 +14392,603 @@ "realms": [ "boo-baz-db-connection-test" ], - "enabled_clients": [ - "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", - "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" - ] + "enabled_clients": [ + "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + ] + }, + { + "id": "con_mNzsGFqGTiRm8ck6", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + }, + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "google-oauth2" + ], + "enabled_clients": [ + "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + ] + }, + { + "id": "con_itdctyRSC3HQmlX0", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true + }, + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "Username-Password-Authentication" + ], + "enabled_clients": [ + "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + ] + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/client-grants?take=50", + "body": "", + "status": 200, + "response": { + "client_grants": [ + { + "id": "cgr_S6EVifP1ifjC9uVQ", + "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ], + "subject_type": "client" }, { - "id": "con_ZxRMPXT6qTFWMFqC", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "google-oauth2" + "id": "cgr_eG5gEZKTl5i0JlGq", + "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" ], - "enabled_clients": [ - "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", - "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH" - ] + "subject_type": "client" }, { - "id": "con_4jeiJ5EmqMspBjmK", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "Username-Password-Authentication" + "id": "cgr_pbwejzhwoujrsNE8", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:client_credentials", + "update:client_credentials", + "delete:client_credentials", + "create:client_credentials", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations_summary", + "create:authentication_methods", + "read:authentication_methods", + "update:authentication_methods", + "delete:authentication_methods", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "read:organization_discovery_domains", + "update:organization_discovery_domains", + "create:organization_discovery_domains", + "delete:organization_discovery_domains", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations", + "read:scim_config", + "create:scim_config", + "update:scim_config", + "delete:scim_config", + "create:scim_token", + "read:scim_token", + "delete:scim_token", + "delete:phone_providers", + "create:phone_providers", + "read:phone_providers", + "update:phone_providers", + "delete:phone_templates", + "create:phone_templates", + "read:phone_templates", + "update:phone_templates", + "create:encryption_keys", + "read:encryption_keys", + "update:encryption_keys", + "delete:encryption_keys", + "read:sessions", + "update:sessions", + "delete:sessions", + "read:refresh_tokens", + "delete:refresh_tokens", + "create:self_service_profiles", + "read:self_service_profiles", + "update:self_service_profiles", + "delete:self_service_profiles", + "create:sso_access_tickets", + "delete:sso_access_tickets", + "read:forms", + "update:forms", + "delete:forms", + "create:forms", + "read:flows", + "update:flows", + "delete:flows", + "create:flows", + "read:flows_vault", + "read:flows_vault_connections", + "update:flows_vault_connections", + "delete:flows_vault_connections", + "create:flows_vault_connections", + "read:flows_executions", + "delete:flows_executions", + "read:connections_options", + "update:connections_options", + "read:self_service_profile_custom_texts", + "update:self_service_profile_custom_texts", + "create:network_acls", + "update:network_acls", + "read:network_acls", + "delete:network_acls", + "delete:vdcs_templates", + "read:vdcs_templates", + "create:vdcs_templates", + "update:vdcs_templates", + "create:custom_signing_keys", + "read:custom_signing_keys", + "update:custom_signing_keys", + "delete:custom_signing_keys", + "read:federated_connections_tokens", + "delete:federated_connections_tokens", + "create:user_attribute_profiles", + "read:user_attribute_profiles", + "update:user_attribute_profiles", + "delete:user_attribute_profiles", + "read:event_streams", + "create:event_streams", + "delete:event_streams", + "update:event_streams", + "read:event_deliveries", + "update:event_deliveries", + "create:connection_profiles", + "read:connection_profiles", + "update:connection_profiles", + "delete:connection_profiles", + "read:organization_client_grants", + "create:organization_client_grants", + "delete:organization_client_grants", + "read:security_metrics", + "read:connections_keys", + "update:connections_keys", + "create:connections_keys" ], - "enabled_clients": [ - "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - ] + "subject_type": "client" } ] }, @@ -14490,262 +15064,12 @@ { "tenant": "auth0-deploy-cli-e2e", "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", - "callbacks": [], - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "allowed_origins": [], - "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "web_origins": [], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], + "is_token_endpoint_ip_header_trusted": false, + "name": "Default App", "callbacks": [], - "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -14755,7 +15079,6 @@ "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -14765,7 +15088,7 @@ "subject": "deprecated" } ], - "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14773,8 +15096,6 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", @@ -14787,16 +15108,10 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "name": "API Explorer Application", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -14808,16 +15123,17 @@ }, "oidc_conformant": true, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -14825,7 +15141,7 @@ "subject": "deprecated" } ], - "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", + "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14834,15 +15150,10 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "client_credentials" ], "custom_login_page_on": true }, @@ -14850,11 +15161,11 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", + "name": "Node App", "allowed_clients": [], + "allowed_logout_urls": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -14876,6 +15187,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -14883,7 +15195,8 @@ "subject": "deprecated" } ], - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "allowed_origins": [], + "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14893,38 +15206,38 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "is_first_party": true, - "name": "All Applications", + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -14932,533 +15245,270 @@ "subject": "deprecated" } ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", + "callback_url_template": false, "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/client-grants?take=50", - "body": "", - "status": 200, - "response": { - "client_grants": [ + }, { - "id": "cgr_7XbO3vwF6ya6vZAL", - "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Terraform Provider", + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "subject_type": "client" + "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true }, { - "id": "cgr_OaZij3g3Z6RowvIj", - "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], + "client_metadata": {}, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "none", + "app_type": "spa", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "The Default App", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso": false, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "subject_type": "client" + "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true }, { - "id": "cgr_pbwejzhwoujrsNE8", - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:client_credentials", - "update:client_credentials", - "delete:client_credentials", - "create:client_credentials", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations_summary", - "create:authentication_methods", - "read:authentication_methods", - "update:authentication_methods", - "delete:authentication_methods", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "read:organization_discovery_domains", - "update:organization_discovery_domains", - "create:organization_discovery_domains", - "delete:organization_discovery_domains", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations", - "read:scim_config", - "create:scim_config", - "update:scim_config", - "delete:scim_config", - "create:scim_token", - "read:scim_token", - "delete:scim_token", - "delete:phone_providers", - "create:phone_providers", - "read:phone_providers", - "update:phone_providers", - "delete:phone_templates", - "create:phone_templates", - "read:phone_templates", - "update:phone_templates", - "create:encryption_keys", - "read:encryption_keys", - "update:encryption_keys", - "delete:encryption_keys", - "read:sessions", - "update:sessions", - "delete:sessions", - "read:refresh_tokens", - "delete:refresh_tokens", - "create:self_service_profiles", - "read:self_service_profiles", - "update:self_service_profiles", - "delete:self_service_profiles", - "create:sso_access_tickets", - "delete:sso_access_tickets", - "read:forms", - "update:forms", - "delete:forms", - "create:forms", - "read:flows", - "update:flows", - "delete:flows", - "create:flows", - "read:flows_vault", - "read:flows_vault_connections", - "update:flows_vault_connections", - "delete:flows_vault_connections", - "create:flows_vault_connections", - "read:flows_executions", - "delete:flows_executions", - "read:connections_options", - "update:connections_options", - "read:self_service_profile_custom_texts", - "update:self_service_profile_custom_texts", - "create:network_acls", - "update:network_acls", - "read:network_acls", - "delete:network_acls", - "delete:vdcs_templates", - "read:vdcs_templates", - "create:vdcs_templates", - "update:vdcs_templates", - "create:custom_signing_keys", - "read:custom_signing_keys", - "update:custom_signing_keys", - "delete:custom_signing_keys", - "read:federated_connections_tokens", - "delete:federated_connections_tokens", - "create:user_attribute_profiles", - "read:user_attribute_profiles", - "update:user_attribute_profiles", - "delete:user_attribute_profiles", - "read:event_streams", - "create:event_streams", - "delete:event_streams", - "update:event_streams", - "read:event_deliveries", - "update:event_deliveries", - "create:connection_profiles", - "read:connection_profiles", - "update:connection_profiles", - "delete:connection_profiles", - "read:organization_client_grants", - "create:organization_client_grants", - "delete:organization_client_grants", - "read:security_metrics", - "read:connections_keys", - "update:connections_keys", - "create:connections_keys" + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "subject_type": "client" + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": true, + "callbacks": [], + "is_first_party": true, + "name": "All Applications", + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" + ], + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true } ] }, @@ -15473,7 +15523,7 @@ "status": 200, "response": [ { - "id": "lst_0000000000025583", + "id": "lst_0000000000025595", "name": "Suspended DD Log Stream", "type": "datadog", "status": "active", @@ -15484,14 +15534,14 @@ "isPriority": false }, { - "id": "lst_0000000000025584", + "id": "lst_0000000000025596", "name": "Amazon EventBridge", "type": "eventbridge", "status": "active", "sink": { "awsAccountId": "123456789012", "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-baf843b1-5e3d-4cfa-86b7-b0cec812ad73/auth0.logs" + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-2a1febfb-fae7-4ade-ac00-b462a0a18f30/auth0.logs" }, "filters": [ { @@ -16838,7 +16888,7 @@ "subject": "deprecated" } ], - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -16862,7 +16912,6 @@ "allowed_clients": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -16884,6 +16933,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -16891,7 +16941,7 @@ "subject": "deprecated" } ], - "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", + "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -16911,12 +16961,20 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -16929,6 +16987,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -16936,7 +16995,8 @@ "subject": "deprecated" } ], - "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", + "allowed_origins": [], + "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -16944,32 +17004,27 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" }, + "is_first_party": true, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -16982,6 +17037,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -16989,8 +17045,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -16998,16 +17053,11 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { @@ -17015,7 +17065,6 @@ "global": false, "is_token_endpoint_ip_header_trusted": false, "name": "Terraform Provider", - "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -17029,6 +17078,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -17036,7 +17086,7 @@ "subject": "deprecated" } ], - "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", + "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -17055,11 +17105,15 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -17069,19 +17123,19 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -17089,7 +17143,7 @@ "subject": "deprecated" } ], - "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", + "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -17098,12 +17152,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -17111,16 +17168,10 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -17130,18 +17181,20 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -17149,7 +17202,7 @@ "subject": "deprecated" } ], - "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", + "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -17158,15 +17211,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -17178,7 +17228,6 @@ "allowed_clients": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -17200,6 +17249,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -17207,7 +17257,7 @@ "subject": "deprecated" } ], - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -17237,7 +17287,7 @@ "response": { "connections": [ { - "id": "con_5m5GpC2yhTh0g4cn", + "id": "con_cls5o7ko4UNCAbi5", "options": { "mfa": { "active": true, @@ -17300,12 +17350,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", - "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" ] }, { - "id": "con_4jeiJ5EmqMspBjmK", + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -17342,7 +17392,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -17354,16 +17404,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_5m5GpC2yhTh0g4cn/clients?take=50", + "path": "/api/v2/connections/con_cls5o7ko4UNCAbi5/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW" + "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf" }, { - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" } ] }, @@ -17373,13 +17423,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK/clients?take=50", + "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn" + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -17392,16 +17442,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_5m5GpC2yhTh0g4cn/clients?take=50", + "path": "/api/v2/connections/con_cls5o7ko4UNCAbi5/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW" + "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf" }, { - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" } ] }, @@ -17411,13 +17461,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK/clients?take=50", + "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn" + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -17436,7 +17486,7 @@ "response": { "connections": [ { - "id": "con_5m5GpC2yhTh0g4cn", + "id": "con_cls5o7ko4UNCAbi5", "options": { "mfa": { "active": true, @@ -17499,12 +17549,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", - "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" ] }, { - "id": "con_ZxRMPXT6qTFWMFqC", + "id": "con_mNzsGFqGTiRm8ck6", "options": { "email": true, "scope": [ @@ -17526,12 +17576,12 @@ "google-oauth2" ], "enabled_clients": [ - "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", - "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH" + "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" ] }, { - "id": "con_4jeiJ5EmqMspBjmK", + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -17568,7 +17618,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -17580,16 +17630,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_ZxRMPXT6qTFWMFqC/clients?take=50", + "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l" }, { - "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH" + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" } ] }, @@ -17599,16 +17649,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_ZxRMPXT6qTFWMFqC/clients?take=50", + "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i" + "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l" }, { - "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH" + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" } ] }, @@ -17738,7 +17788,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email", + "path": "/api/v2/email-templates/async_approval", "body": "", "status": 404, "response": { @@ -17753,18 +17803,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/welcome_email", + "path": "/api/v2/email-templates/reset_email", "body": "", - "status": 200, + "status": 404, "response": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" }, "rawHeaders": [], "responseIsBinary": false @@ -17772,7 +17818,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email_by_code", + "path": "/api/v2/email-templates/mfa_oob_code", "body": "", "status": 404, "response": { @@ -17787,7 +17833,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/blocked_account", + "path": "/api/v2/email-templates/password_reset", "body": "", "status": 404, "response": { @@ -17802,14 +17848,18 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/stolen_credentials", + "path": "/api/v2/email-templates/welcome_email", "body": "", - "status": 404, + "status": 200, "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "from": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", + "syntax": "liquid", + "urlLifetimeInSeconds": 3600, + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -17817,7 +17867,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/mfa_oob_code", + "path": "/api/v2/email-templates/user_invitation", "body": "", "status": 404, "response": { @@ -17832,7 +17882,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/enrollment_email", + "path": "/api/v2/email-templates/change_password", "body": "", "status": 404, "response": { @@ -17847,7 +17897,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/change_password", + "path": "/api/v2/email-templates/enrollment_email", "body": "", "status": 404, "response": { @@ -17862,7 +17912,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/password_reset", + "path": "/api/v2/email-templates/reset_email_by_code", "body": "", "status": 404, "response": { @@ -17877,7 +17927,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/async_approval", + "path": "/api/v2/email-templates/stolen_credentials", "body": "", "status": 404, "response": { @@ -17892,7 +17942,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/user_invitation", + "path": "/api/v2/email-templates/blocked_account", "body": "", "status": 404, "response": { @@ -17913,8 +17963,8 @@ "response": { "client_grants": [ { - "id": "cgr_7XbO3vwF6ya6vZAL", - "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", + "id": "cgr_S6EVifP1ifjC9uVQ", + "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -18051,8 +18101,8 @@ "subject_type": "client" }, { - "id": "cgr_OaZij3g3Z6RowvIj", - "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", + "id": "cgr_eG5gEZKTl5i0JlGq", + "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -18555,22 +18605,22 @@ "response": { "roles": [ { - "id": "rol_QUkalOG8CI2qT7cg", + "id": "rol_HL6iYQ8aOmwIQR4Z", "name": "Admin", "description": "Can read and write things" }, { - "id": "rol_7lCohdU6rjViF9BJ", + "id": "rol_6MeXScuszPY3FHmj", "name": "Reader", "description": "Can only read things" }, { - "id": "rol_ZVXhUfVpRnHPMoVN", + "id": "rol_FMUfBZQJE8GIpCD3", "name": "read_only", "description": "Read Only" }, { - "id": "rol_wlMa14cHtcqr1KdB", + "id": "rol_3JfaQfAutCBGuyMm", "name": "read_osnly", "description": "Readz Only" } @@ -18585,7 +18635,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_QUkalOG8CI2qT7cg/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_HL6iYQ8aOmwIQR4Z/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -18600,7 +18650,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_QUkalOG8CI2qT7cg/permissions?per_page=100&page=1&include_totals=true", + "path": "/api/v2/roles/rol_HL6iYQ8aOmwIQR4Z/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { @@ -18615,7 +18665,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_7lCohdU6rjViF9BJ/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_6MeXScuszPY3FHmj/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -18630,7 +18680,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_7lCohdU6rjViF9BJ/permissions?per_page=100&page=1&include_totals=true", + "path": "/api/v2/roles/rol_6MeXScuszPY3FHmj/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { @@ -18645,7 +18695,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_ZVXhUfVpRnHPMoVN/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_FMUfBZQJE8GIpCD3/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -18660,7 +18710,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_ZVXhUfVpRnHPMoVN/permissions?per_page=100&page=1&include_totals=true", + "path": "/api/v2/roles/rol_FMUfBZQJE8GIpCD3/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { @@ -18675,7 +18725,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_wlMa14cHtcqr1KdB/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_3JfaQfAutCBGuyMm/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -18690,7 +18740,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_wlMa14cHtcqr1KdB/permissions?per_page=100&page=1&include_totals=true", + "path": "/api/v2/roles/rol_3JfaQfAutCBGuyMm/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { @@ -18749,7 +18799,7 @@ }, "credentials": null, "created_at": "2025-12-09T12:24:00.604Z", - "updated_at": "2025-12-16T05:15:18.469Z" + "updated_at": "2025-12-16T08:58:34.717Z" } ] }, @@ -18764,6 +18814,22 @@ "status": 200, "response": { "templates": [ + { + "id": "tem_xqbUSF83fpnRv8r8rqXFDZ", + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "change_password", + "disabled": false, + "created_at": "2025-12-09T12:26:20.243Z", + "updated_at": "2025-12-16T08:58:36.831Z", + "content": { + "syntax": "liquid", + "body": { + "text": "{{ code | escape }} is your password change code for {{ friendly_name | escape }}", + "voice": "Hello. Your password change code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your password change code is {{ pause }} {{ code | escape }}" + } + } + }, { "id": "tem_dL83uTmWn8moGzm8UgAk4Q", "tenant": "auth0-deploy-cli-e2e", @@ -18771,7 +18837,7 @@ "type": "blocked_account", "disabled": false, "created_at": "2025-12-09T12:22:47.683Z", - "updated_at": "2025-12-16T05:15:21.194Z", + "updated_at": "2025-12-16T08:58:36.736Z", "content": { "syntax": "liquid", "body": { @@ -18782,18 +18848,18 @@ } }, { - "id": "tem_xqbUSF83fpnRv8r8rqXFDZ", + "id": "tem_o4LBTt4NQyX8K4vC9dPafR", "tenant": "auth0-deploy-cli-e2e", "channel": "phone", - "type": "change_password", + "type": "otp_verify", "disabled": false, - "created_at": "2025-12-09T12:26:20.243Z", - "updated_at": "2025-12-16T05:15:21.476Z", + "created_at": "2025-12-09T12:26:30.547Z", + "updated_at": "2025-12-16T08:58:37.073Z", "content": { "syntax": "liquid", "body": { - "text": "{{ code | escape }} is your password change code for {{ friendly_name | escape }}", - "voice": "Hello. Your password change code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your password change code is {{ pause }} {{ code | escape }}" + "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}", + "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" } } }, @@ -18804,7 +18870,7 @@ "type": "otp_enroll", "disabled": false, "created_at": "2025-12-09T12:26:25.327Z", - "updated_at": "2025-12-16T05:15:21.567Z", + "updated_at": "2025-12-16T08:58:36.804Z", "content": { "syntax": "liquid", "body": { @@ -18812,22 +18878,6 @@ "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" } } - }, - { - "id": "tem_o4LBTt4NQyX8K4vC9dPafR", - "tenant": "auth0-deploy-cli-e2e", - "channel": "phone", - "type": "otp_verify", - "disabled": false, - "created_at": "2025-12-09T12:26:30.547Z", - "updated_at": "2025-12-16T05:15:21.814Z", - "content": { - "syntax": "liquid", - "body": { - "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}", - "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" - } - } } ] }, @@ -18932,7 +18982,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/custom-text/en", + "path": "/api/v2/prompts/login-password/custom-text/en", "body": "", "status": 200, "response": {}, @@ -18942,7 +18992,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-password/custom-text/en", + "path": "/api/v2/prompts/login-id/custom-text/en", "body": "", "status": 200, "response": {}, @@ -19152,7 +19202,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa/custom-text/en", + "path": "/api/v2/prompts/mfa-recovery-code/custom-text/en", "body": "", "status": 200, "response": {}, @@ -19162,7 +19212,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-recovery-code/custom-text/en", + "path": "/api/v2/prompts/mfa/custom-text/en", "body": "", "status": 200, "response": {}, @@ -19192,7 +19242,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/email-verification/custom-text/en", + "path": "/api/v2/prompts/email-otp-challenge/custom-text/en", "body": "", "status": 200, "response": {}, @@ -19202,7 +19252,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/email-otp-challenge/custom-text/en", + "path": "/api/v2/prompts/email-verification/custom-text/en", "body": "", "status": 200, "response": {}, @@ -19222,7 +19272,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/invitation/custom-text/en", + "path": "/api/v2/prompts/common/custom-text/en", "body": "", "status": 200, "response": {}, @@ -19232,7 +19282,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/common/custom-text/en", + "path": "/api/v2/prompts/invitation/custom-text/en", "body": "", "status": 200, "response": {}, @@ -19272,7 +19322,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login/partials", + "path": "/api/v2/prompts/login-id/partials", "body": "", "status": 200, "response": {}, @@ -19282,7 +19332,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/partials", + "path": "/api/v2/prompts/login-password/partials", "body": "", "status": 200, "response": {}, @@ -19292,7 +19342,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-password/partials", + "path": "/api/v2/prompts/login/partials", "body": "", "status": 200, "response": {}, @@ -19302,7 +19352,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-passwordless/partials", + "path": "/api/v2/prompts/signup/partials", "body": "", "status": 200, "response": {}, @@ -19312,7 +19362,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup/partials", + "path": "/api/v2/prompts/login-passwordless/partials", "body": "", "status": 200, "response": {}, @@ -19339,6 +19389,21 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/prompts/rendering?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "configs": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -19348,7 +19413,7 @@ "response": { "actions": [ { - "id": "40d899f3-a209-42a2-a3ed-39e764dcbc33", + "id": "2b25f34b-cc41-4b78-8eb0-861be0f30f1d", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -19356,34 +19421,34 @@ "version": "v1" } ], - "created_at": "2025-12-11T11:30:13.629492200Z", - "updated_at": "2025-12-16T05:15:01.577210494Z", + "created_at": "2025-12-16T08:57:07.885769307Z", + "updated_at": "2025-12-16T08:58:22.911650706Z", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], "runtime": "node22", "status": "built", "secrets": [], "current_version": { - "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", + "id": "77a70d48-694c-4055-becb-b10b99ee73f4", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "runtime": "node22", "status": "BUILT", - "number": 5, - "build_time": "2025-12-16T05:15:03.730905338Z", - "created_at": "2025-12-16T05:15:03.656132145Z", - "updated_at": "2025-12-16T05:15:03.732003986Z" + "number": 2, + "build_time": "2025-12-16T08:58:23.733386236Z", + "created_at": "2025-12-16T08:58:23.642622798Z", + "updated_at": "2025-12-16T08:58:23.734859050Z" }, "deployed_version": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", + "id": "77a70d48-694c-4055-becb-b10b99ee73f4", "deployed": true, - "number": 5, - "built_at": "2025-12-16T05:15:03.730905338Z", + "number": 2, + "built_at": "2025-12-16T08:58:23.733386236Z", "secrets": [], "status": "built", - "created_at": "2025-12-16T05:15:03.656132145Z", - "updated_at": "2025-12-16T05:15:03.732003986Z", + "created_at": "2025-12-16T08:58:23.642622798Z", + "updated_at": "2025-12-16T08:58:23.734859050Z", "runtime": "node22", "supported_triggers": [ { @@ -19395,7 +19460,7 @@ "all_changes_deployed": true }, { - "id": "e69869b2-169a-4df9-9326-4447818092f6", + "id": "13228a5d-a06b-4e51-89aa-45b56efde856", "name": "My Custom Action", "supported_triggers": [ { @@ -19403,34 +19468,34 @@ "version": "v2" } ], - "created_at": "2025-12-16T05:17:04.860907359Z", - "updated_at": "2025-12-16T05:17:04.867817351Z", + "created_at": "2025-12-16T08:59:08.956810259Z", + "updated_at": "2025-12-16T08:59:08.967618945Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "built", "secrets": [], "current_version": { - "id": "a4d7af33-adee-49de-9898-744df792436e", + "id": "22e4811c-46a6-4d67-8fb0-ad94a4289752", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node18", "status": "BUILT", "number": 1, - "build_time": "2025-12-16T05:17:06.111365724Z", - "created_at": "2025-12-16T05:17:06.028561552Z", - "updated_at": "2025-12-16T05:17:06.112541842Z" + "build_time": "2025-12-16T08:59:09.806979854Z", + "created_at": "2025-12-16T08:59:09.734430679Z", + "updated_at": "2025-12-16T08:59:09.808139988Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "a4d7af33-adee-49de-9898-744df792436e", + "id": "22e4811c-46a6-4d67-8fb0-ad94a4289752", "deployed": true, "number": 1, - "built_at": "2025-12-16T05:17:06.111365724Z", + "built_at": "2025-12-16T08:59:09.806979854Z", "secrets": [], "status": "built", - "created_at": "2025-12-16T05:17:06.028561552Z", - "updated_at": "2025-12-16T05:17:06.112541842Z", + "created_at": "2025-12-16T08:59:09.734430679Z", + "updated_at": "2025-12-16T08:59:09.808139988Z", "runtime": "node18", "supported_triggers": [ { @@ -19512,7 +19577,6 @@ "version": "v2", "status": "CURRENT", "runtimes": [ - "node12", "node18-actions", "node22" ], @@ -19520,12 +19584,22 @@ "binding_policy": "trigger-bound", "compatible_triggers": [] }, + { + "id": "post-user-registration", + "version": "v1", + "status": "DEPRECATED", + "runtimes": [ + "node12" + ], + "default_runtime": "node12", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, { "id": "post-user-registration", "version": "v2", "status": "CURRENT", "runtimes": [ - "node12", "node18-actions", "node22" ], @@ -19768,10 +19842,10 @@ "response": { "bindings": [ { - "id": "d885dc2e-8002-4692-ba48-e70d9325fe78", + "id": "0fc89848-3924-4c97-96f6-501a8f76f378", "trigger_id": "custom-phone-provider", "action": { - "id": "40d899f3-a209-42a2-a3ed-39e764dcbc33", + "id": "2b25f34b-cc41-4b78-8eb0-861be0f30f1d", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -19779,29 +19853,29 @@ "version": "v1" } ], - "created_at": "2025-12-11T11:30:13.629492200Z", - "updated_at": "2025-12-16T05:15:01.571703559Z", + "created_at": "2025-12-16T08:57:07.885769307Z", + "updated_at": "2025-12-16T08:58:22.906332840Z", "current_version": { - "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", + "id": "77a70d48-694c-4055-becb-b10b99ee73f4", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "runtime": "node22", "status": "BUILT", - "number": 5, - "build_time": "2025-12-16T05:15:03.730905338Z", - "created_at": "2025-12-16T05:15:03.656132145Z", - "updated_at": "2025-12-16T05:15:03.732003986Z" + "number": 2, + "build_time": "2025-12-16T08:58:23.733386236Z", + "created_at": "2025-12-16T08:58:23.642622798Z", + "updated_at": "2025-12-16T08:58:23.734859050Z" }, "deployed_version": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", + "id": "77a70d48-694c-4055-becb-b10b99ee73f4", "deployed": true, - "number": 5, - "built_at": "2025-12-16T05:15:03.730905338Z", + "number": 2, + "built_at": "2025-12-16T08:58:23.733386236Z", "secrets": [], "status": "built", - "created_at": "2025-12-16T05:15:03.656132145Z", - "updated_at": "2025-12-16T05:15:03.732003986Z", + "created_at": "2025-12-16T08:58:23.642622798Z", + "updated_at": "2025-12-16T08:58:23.734859050Z", "runtime": "node22", "supported_triggers": [ { @@ -19812,8 +19886,8 @@ }, "all_changes_deployed": false }, - "created_at": "2025-12-16T05:15:29.671498879Z", - "updated_at": "2025-12-16T05:15:29.671498879Z", + "created_at": "2025-12-16T08:58:43.239027497Z", + "updated_at": "2025-12-16T08:58:43.239027497Z", "display_name": "Custom Phone Provider" } ], @@ -19884,7 +19958,12 @@ "response": { "organizations": [ { - "id": "org_xx56mAIMVPiBVeuu", + "id": "org_4ljRqNj9r3hARo3g", + "name": "org2", + "display_name": "Organization2" + }, + { + "id": "org_TiDOQfO5mFtNEm4F", "name": "org1", "display_name": "Organization", "branding": { @@ -19893,11 +19972,6 @@ "primary": "#57ddff" } } - }, - { - "id": "org_BF11sKCsVKejD9RE", - "name": "org2", - "display_name": "Organization2" } ] }, @@ -19997,7 +20071,7 @@ "subject": "deprecated" } ], - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -20021,7 +20095,6 @@ "allowed_clients": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -20043,6 +20116,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -20050,7 +20124,7 @@ "subject": "deprecated" } ], - "client_id": "ePlk27UDbxtfiL4gOHv8JUBaGO4xEgtW", + "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -20070,12 +20144,20 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "cross_origin_auth": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -20088,6 +20170,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -20095,7 +20178,8 @@ "subject": "deprecated" } ], - "client_id": "rwh4Par6PteqTEU8KBt6cMD3Ab64nixl", + "allowed_origins": [], + "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -20103,32 +20187,27 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" }, + "is_first_party": true, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -20141,6 +20220,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -20148,8 +20228,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "DLEFbUOocWo306zHEW2ujC1hZ5Jdt1eW", + "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -20157,16 +20236,11 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { @@ -20174,7 +20248,6 @@ "global": false, "is_token_endpoint_ip_header_trusted": false, "name": "Terraform Provider", - "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -20188,6 +20261,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -20195,7 +20269,7 @@ "subject": "deprecated" } ], - "client_id": "CEvUUnPMpkPI6L8xSCbMVRQbNo8Eerb0", + "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -20214,11 +20288,15 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -20228,19 +20306,19 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -20248,7 +20326,7 @@ "subject": "deprecated" } ], - "client_id": "x5RheQqsE7DDsSs3sBG8hbVzCHXwuhbH", + "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -20257,12 +20335,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -20270,16 +20351,10 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -20289,18 +20364,20 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -20308,7 +20385,7 @@ "subject": "deprecated" } ], - "client_id": "q6hTC0vWKltDMOFZWmkExufC2SW5KZEq", + "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -20317,15 +20394,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -20337,7 +20411,6 @@ "allowed_clients": [], "callbacks": [], "client_metadata": {}, - "cross_origin_auth": false, "is_first_party": true, "native_social_login": { "apple": { @@ -20359,6 +20432,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -20366,7 +20440,7 @@ "subject": "deprecated" } ], - "client_id": "lfTFoUrEDvDWx3W7Ew3PD217t48PFZ9i", + "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -20427,7 +20501,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -20442,7 +20516,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/enabled_connections?page=1&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/enabled_connections?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -20457,7 +20531,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -20472,7 +20546,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/client-grants?page=1&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/client-grants?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -20487,7 +20561,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/discovery-domains?take=50", + "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -20499,7 +20573,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_xx56mAIMVPiBVeuu/discovery-domains?take=50", + "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -20511,7 +20585,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -20526,7 +20600,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/enabled_connections?page=1&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/enabled_connections?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -20541,7 +20615,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -20556,7 +20630,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/client-grants?page=1&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/client-grants?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -20571,7 +20645,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/discovery-domains?take=50", + "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -20583,7 +20657,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_BF11sKCsVKejD9RE/discovery-domains?take=50", + "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -20725,7 +20799,7 @@ "status": 200, "response": [ { - "id": "lst_0000000000025583", + "id": "lst_0000000000025595", "name": "Suspended DD Log Stream", "type": "datadog", "status": "active", @@ -20736,14 +20810,14 @@ "isPriority": false }, { - "id": "lst_0000000000025584", + "id": "lst_0000000000025596", "name": "Amazon EventBridge", "type": "eventbridge", "status": "active", "sink": { "awsAccountId": "123456789012", "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-baf843b1-5e3d-4cfa-86b7-b0cec812ad73/auth0.logs" + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-2a1febfb-fae7-4ade-ac00-b462a0a18f30/auth0.logs" }, "filters": [ { @@ -20817,22 +20891,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, - "total": 1, - "forms": [ - { - "id": "ap_6JUSCU7qq1CravnoU6d6jr", - "name": "Blank-form", - "flow_count": 0, - "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-16T05:17:40.044Z" - } - ] + "total": 0, + "flows": [] }, "rawHeaders": [], "responseIsBinary": false @@ -20840,14 +20906,22 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, - "total": 0, - "flows": [] + "total": 1, + "forms": [ + { + "id": "ap_6JUSCU7qq1CravnoU6d6jr", + "name": "Blank-form", + "flow_count": 0, + "created_at": "2024-11-26T11:58:18.187Z", + "updated_at": "2025-12-16T08:59:30.202Z" + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -20916,7 +20990,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-16T05:17:40.044Z" + "updated_at": "2025-12-16T08:59:30.202Z" }, "rawHeaders": [], "responseIsBinary": false @@ -21025,7 +21099,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-16T05:17:30.753Z", + "updated_at": "2025-12-16T08:59:23.996Z", "branding": { "colors": { "primary": "#19aecc" @@ -21077,7 +21151,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-16T05:17:08.381Z", + "updated_at": "2025-12-16T08:59:10.887Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] @@ -21140,6 +21214,18 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connection-profiles?take=10", + "body": "", + "status": 200, + "response": { + "connection_profiles": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", diff --git a/test/e2e/recordings/should-deploy-without-throwing-an-error.json b/test/e2e/recordings/should-deploy-without-throwing-an-error.json index 869b18f46..6b7c8184a 100644 --- a/test/e2e/recordings/should-deploy-without-throwing-an-error.json +++ b/test/e2e/recordings/should-deploy-without-throwing-an-error.json @@ -924,6 +924,22 @@ "value": "delete:organization_client_grants", "description": "Delete Organization Client Grants" }, + { + "value": "create:token_exchange_profiles", + "description": "Create Token Exchange Profile" + }, + { + "value": "read:token_exchange_profiles", + "description": "Read Token Exchange Profiles" + }, + { + "value": "update:token_exchange_profiles", + "description": "Update Token Exchange Profile" + }, + { + "value": "delete:token_exchange_profiles", + "description": "Delete Token Exchange Profile" + }, { "value": "read:security_metrics", "description": "Read Security Metrics" @@ -1018,9 +1034,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Default App", "callbacks": [], "cross_origin_auth": false, @@ -1044,7 +1057,7 @@ "subject": "deprecated" } ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1068,11 +1081,10 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "path": "/api/v2/clients/u6litSM0kteNcq1warh1NdRpv0MJYaWa", "body": { "name": "Default App", "callbacks": [], - "cross_origin_auth": false, "custom_login_page_on": true, "grant_types": [ "authorization_code", @@ -1096,16 +1108,14 @@ "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, - "sso_disabled": false + "sso_disabled": false, + "cross_origin_authentication": false }, "status": 200, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Default App", "callbacks": [], "cross_origin_auth": false, @@ -1129,7 +1139,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1165,7 +1175,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-platform", + "path": "/api/v2/guardian/factors/push-notification", "body": { "enabled": false }, @@ -1179,7 +1189,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", + "path": "/api/v2/guardian/factors/recovery-code", "body": { "enabled": false }, @@ -1193,7 +1203,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/otp", + "path": "/api/v2/guardian/factors/webauthn-platform", "body": { "enabled": false }, @@ -1207,7 +1217,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/recovery-code", + "path": "/api/v2/guardian/factors/sms", "body": { "enabled": false }, @@ -1221,7 +1231,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/push-notification", + "path": "/api/v2/guardian/factors/otp", "body": { "enabled": false }, @@ -1235,7 +1245,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/webauthn-roaming", "body": { "enabled": false }, @@ -1405,6 +1415,10 @@ "pre-user-registration": { "max_attempts": 50, "rate": 1200 + }, + "pre-custom-token-exchange": { + "max_attempts": 10, + "rate": 600000 } } }, @@ -1519,9 +1533,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Default App", "callbacks": [], "cross_origin_auth": false, @@ -1545,7 +1556,7 @@ "subject": "deprecated" } ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1612,7 +1623,7 @@ "response": { "connections": [ { - "id": "con_YQIQ8h72LqqSXD75", + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -1630,7 +1641,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true @@ -1638,12 +1650,18 @@ "strategy": "auth0", "name": "Username-Password-Authentication", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -1660,7 +1678,7 @@ "response": { "connections": [ { - "id": "con_YQIQ8h72LqqSXD75", + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -1678,7 +1696,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true @@ -1686,12 +1705,18 @@ "strategy": "auth0", "name": "Username-Password-Authentication", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -1702,16 +1727,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75/clients?take=50", + "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" }, { - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" } ] }, @@ -1721,16 +1746,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75/clients?take=50", + "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" }, { - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" } ] }, @@ -1740,11 +1765,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75", + "path": "/api/v2/connections/con_itdctyRSC3HQmlX0", "body": "", "status": 200, "response": { - "id": "con_YQIQ8h72LqqSXD75", + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -1762,7 +1787,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true @@ -1770,9 +1796,15 @@ "strategy": "auth0", "name": "Username-Password-Authentication", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ], "realms": [ "Username-Password-Authentication" @@ -1784,11 +1816,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75", + "path": "/api/v2/connections/con_itdctyRSC3HQmlX0", "body": { "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "u6litSM0kteNcq1warh1NdRpv0MJYaWa" ], "is_domain_connection": false, "options": { @@ -1808,7 +1840,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true @@ -1819,7 +1852,7 @@ }, "status": 200, "response": { - "id": "con_YQIQ8h72LqqSXD75", + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -1837,7 +1870,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true @@ -1845,9 +1879,15 @@ "strategy": "auth0", "name": "Username-Password-Authentication", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "u6litSM0kteNcq1warh1NdRpv0MJYaWa" ], "realms": [ "Username-Password-Authentication" @@ -1859,14 +1899,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_YQIQ8h72LqqSXD75/clients", + "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients", "body": [ { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "status": true }, { - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "status": true } ], @@ -1945,9 +1985,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Default App", "callbacks": [], "cross_origin_auth": false, @@ -1971,7 +2008,7 @@ "subject": "deprecated" } ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2038,7 +2075,7 @@ "response": { "connections": [ { - "id": "con_YQIQ8h72LqqSXD75", + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -2056,7 +2093,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true @@ -2064,12 +2102,18 @@ "strategy": "auth0", "name": "Username-Password-Authentication", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -2086,7 +2130,7 @@ "response": { "connections": [ { - "id": "con_YQIQ8h72LqqSXD75", + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -2104,7 +2148,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true @@ -2112,12 +2157,18 @@ "strategy": "auth0", "name": "Username-Password-Authentication", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -2134,7 +2185,7 @@ "strategy": "google-oauth2", "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "u6litSM0kteNcq1warh1NdRpv0MJYaWa" ], "is_domain_connection": false, "options": { @@ -2148,7 +2199,7 @@ }, "status": 201, "response": { - "id": "con_TZft9UmXrtdJXHZN", + "id": "con_mNzsGFqGTiRm8ck6", "options": { "email": true, "scope": [ @@ -2160,9 +2211,15 @@ "strategy": "google-oauth2", "name": "google-oauth2", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "u6litSM0kteNcq1warh1NdRpv0MJYaWa" ], "realms": [ "google-oauth2" @@ -2180,7 +2237,7 @@ "response": { "connections": [ { - "id": "con_TZft9UmXrtdJXHZN", + "id": "con_mNzsGFqGTiRm8ck6", "options": { "email": true, "scope": [ @@ -2192,12 +2249,18 @@ "strategy": "google-oauth2", "name": "google-oauth2", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "google-oauth2" ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "u6litSM0kteNcq1warh1NdRpv0MJYaWa" ] } ] @@ -2208,14 +2271,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_TZft9UmXrtdJXHZN/clients", + "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6/clients", "body": [ { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "status": true }, { - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "status": true } ], @@ -2309,9 +2372,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Default App", "callbacks": [], "cross_origin_auth": false, @@ -2335,7 +2395,7 @@ "subject": "deprecated" } ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2738,9 +2798,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Default App", "callbacks": [], "cross_origin_auth": false, @@ -2764,7 +2821,7 @@ "subject": "deprecated" } ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2831,7 +2888,7 @@ "response": { "connections": [ { - "id": "con_TZft9UmXrtdJXHZN", + "id": "con_mNzsGFqGTiRm8ck6", "options": { "email": true, "scope": [ @@ -2843,16 +2900,22 @@ "strategy": "google-oauth2", "name": "google-oauth2", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "google-oauth2" ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "u6litSM0kteNcq1warh1NdRpv0MJYaWa" ] }, { - "id": "con_YQIQ8h72LqqSXD75", + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -2870,7 +2933,8 @@ "enabled": false }, "password": { - "enabled": true + "enabled": true, + "api_behavior": "required" } }, "brute_force_protection": true @@ -2878,12 +2942,18 @@ "strategy": "auth0", "name": "Username-Password-Authentication", "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, "realms": [ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7" + "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -2961,9 +3031,6 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "async_approval_notification_channels": [ - "guardian-push" - ], "name": "Default App", "callbacks": [], "cross_origin_auth": false, @@ -2987,7 +3054,7 @@ "subject": "deprecated" } ], - "client_id": "wIkGgCzD5FjG37vxaj11fUPbUw83iTj7", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3375,6 +3442,7 @@ }, "identifier_first": true }, + "resource_parameter_profile": "audience", "session_cookie": { "mode": "non-persistent" } diff --git a/test/e2e/recordings/should-dump-and-deploy-without-throwing-an-error.json b/test/e2e/recordings/should-dump-and-deploy-without-throwing-an-error.json index e47aa8ff8..ea238dc6d 100644 --- a/test/e2e/recordings/should-dump-and-deploy-without-throwing-an-error.json +++ b/test/e2e/recordings/should-dump-and-deploy-without-throwing-an-error.json @@ -1222,7 +1222,7 @@ "subject": "deprecated" } ], - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1252,7 +1252,7 @@ "response": { "connections": [ { - "id": "con_4jeiJ5EmqMspBjmK", + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -1289,7 +1289,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -1301,13 +1301,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK/clients?take=50", + "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn" + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -1320,13 +1320,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK/clients?take=50", + "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn" + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -1345,7 +1345,34 @@ "response": { "connections": [ { - "id": "con_4jeiJ5EmqMspBjmK", + "id": "con_mNzsGFqGTiRm8ck6", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + }, + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "google-oauth2" + ], + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + ] + }, + { + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -1382,7 +1409,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -1391,6 +1418,44 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6/clients?take=50", + "body": "", + "status": 200, + "response": { + "clients": [ + { + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + }, + { + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6/clients?take=50", + "body": "", + "status": 200, + "response": { + "clients": [ + { + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + }, + { + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -1514,7 +1579,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email", + "path": "/api/v2/email-templates/stolen_credentials", "body": "", "status": 404, "response": { @@ -1529,18 +1594,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/welcome_email", + "path": "/api/v2/email-templates/change_password", "body": "", - "status": 200, + "status": 404, "response": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" }, "rawHeaders": [], "responseIsBinary": false @@ -1563,7 +1624,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/blocked_account", + "path": "/api/v2/email-templates/async_approval", "body": "", "status": 404, "response": { @@ -1578,7 +1639,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/stolen_credentials", + "path": "/api/v2/email-templates/enrollment_email", "body": "", "status": 404, "response": { @@ -1593,7 +1654,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/enrollment_email", + "path": "/api/v2/email-templates/user_invitation", "body": "", "status": 404, "response": { @@ -1608,7 +1669,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/mfa_oob_code", + "path": "/api/v2/email-templates/password_reset", "body": "", "status": 404, "response": { @@ -1623,14 +1684,18 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/password_reset", + "path": "/api/v2/email-templates/welcome_email", "body": "", - "status": 404, + "status": 200, "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "from": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", + "syntax": "liquid", + "urlLifetimeInSeconds": 3600, + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -1638,7 +1703,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/change_password", + "path": "/api/v2/email-templates/mfa_oob_code", "body": "", "status": 404, "response": { @@ -1653,7 +1718,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/async_approval", + "path": "/api/v2/email-templates/blocked_account", "body": "", "status": 404, "response": { @@ -1668,7 +1733,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/user_invitation", + "path": "/api/v2/email-templates/reset_email", "body": "", "status": 404, "response": { @@ -1982,7 +2047,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/guardian/factors/sms/providers/twilio", + "path": "/api/v2/guardian/factors/push-notification/providers/sns", "body": "", "status": 200, "response": {}, @@ -1992,7 +2057,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/guardian/factors/push-notification/providers/sns", + "path": "/api/v2/guardian/factors/sms/providers/twilio", "body": "", "status": 200, "response": {}, @@ -2108,7 +2173,7 @@ }, "credentials": null, "created_at": "2025-12-09T12:24:00.604Z", - "updated_at": "2025-12-11T19:04:05.770Z" + "updated_at": "2025-12-16T08:57:28.720Z" } ] }, @@ -2130,7 +2195,7 @@ "type": "blocked_account", "disabled": false, "created_at": "2025-12-09T12:22:47.683Z", - "updated_at": "2025-12-09T12:30:30.019Z", + "updated_at": "2025-12-16T05:15:21.194Z", "content": { "syntax": "liquid", "body": { @@ -2147,7 +2212,7 @@ "type": "change_password", "disabled": false, "created_at": "2025-12-09T12:26:20.243Z", - "updated_at": "2025-12-09T12:30:30.034Z", + "updated_at": "2025-12-16T05:15:21.476Z", "content": { "syntax": "liquid", "body": { @@ -2163,7 +2228,7 @@ "type": "otp_enroll", "disabled": false, "created_at": "2025-12-09T12:26:25.327Z", - "updated_at": "2025-12-09T12:30:30.174Z", + "updated_at": "2025-12-16T05:15:21.567Z", "content": { "syntax": "liquid", "body": { @@ -2179,7 +2244,7 @@ "type": "otp_verify", "disabled": false, "created_at": "2025-12-09T12:26:30.547Z", - "updated_at": "2025-12-09T12:30:30.365Z", + "updated_at": "2025-12-16T05:15:21.814Z", "content": { "syntax": "liquid", "body": { @@ -2311,7 +2376,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-passwordless/custom-text/en", + "path": "/api/v2/prompts/login-email-verification/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2321,7 +2386,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-email-verification/custom-text/en", + "path": "/api/v2/prompts/login-passwordless/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2401,7 +2466,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/custom-form/custom-text/en", + "path": "/api/v2/prompts/consent/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2411,7 +2476,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/consent/custom-text/en", + "path": "/api/v2/prompts/custom-form/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2421,7 +2486,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/customized-consent/custom-text/en", + "path": "/api/v2/prompts/logout/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2431,7 +2496,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/logout/custom-text/en", + "path": "/api/v2/prompts/customized-consent/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2641,7 +2706,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-password/partials", + "path": "/api/v2/prompts/login-id/partials", "body": "", "status": 200, "response": {}, @@ -2651,7 +2716,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/partials", + "path": "/api/v2/prompts/login-password/partials", "body": "", "status": 200, "response": {}, @@ -2671,7 +2736,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup-id/partials", + "path": "/api/v2/prompts/login-passwordless/partials", "body": "", "status": 200, "response": {}, @@ -2681,7 +2746,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-passwordless/partials", + "path": "/api/v2/prompts/signup-id/partials", "body": "", "status": 200, "response": {}, @@ -2698,6 +2763,21 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/prompts/rendering?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "configs": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -2707,7 +2787,7 @@ "response": { "actions": [ { - "id": "40d899f3-a209-42a2-a3ed-39e764dcbc33", + "id": "2b25f34b-cc41-4b78-8eb0-861be0f30f1d", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -2715,34 +2795,34 @@ "version": "v1" } ], - "created_at": "2025-12-11T11:30:13.629492200Z", - "updated_at": "2025-12-11T19:03:56.861288470Z", + "created_at": "2025-12-16T08:57:07.885769307Z", + "updated_at": "2025-12-16T08:57:26.631290374Z", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], "runtime": "node22", "status": "built", "secrets": [], "current_version": { - "id": "7c1d4428-7721-40b7-91b0-c17278614787", + "id": "c371605e-7764-4853-9b1d-f99acc48ed60", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "runtime": "node22", "status": "BUILT", - "number": 4, - "build_time": "2025-12-11T19:03:57.560767224Z", - "created_at": "2025-12-11T19:03:57.472143Z", - "updated_at": "2025-12-11T19:03:57.562385412Z" + "number": 1, + "build_time": "2025-12-16T08:57:27.672686269Z", + "created_at": "2025-12-16T08:57:27.628747836Z", + "updated_at": "2025-12-16T08:57:27.672991951Z" }, "deployed_version": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "7c1d4428-7721-40b7-91b0-c17278614787", + "id": "c371605e-7764-4853-9b1d-f99acc48ed60", "deployed": true, - "number": 4, - "built_at": "2025-12-11T19:03:57.560767224Z", + "number": 1, + "built_at": "2025-12-16T08:57:27.672686269Z", "secrets": [], "status": "built", - "created_at": "2025-12-11T19:03:57.472143Z", - "updated_at": "2025-12-11T19:03:57.562385412Z", + "created_at": "2025-12-16T08:57:27.628747836Z", + "updated_at": "2025-12-16T08:57:27.672991951Z", "runtime": "node22", "supported_triggers": [ { @@ -2773,6 +2853,7 @@ "version": "v3", "status": "CURRENT", "runtimes": [ + "node12", "node18-actions", "node22" ], @@ -2796,22 +2877,12 @@ "binding_policy": "trigger-bound", "compatible_triggers": [] }, - { - "id": "credentials-exchange", - "version": "v1", - "status": "DEPRECATED", - "runtimes": [ - "node12" - ], - "default_runtime": "node12", - "binding_policy": "trigger-bound", - "compatible_triggers": [] - }, { "id": "credentials-exchange", "version": "v2", "status": "CURRENT", "runtimes": [ + "node12", "node18-actions", "node22" ], @@ -2850,6 +2921,7 @@ "version": "v2", "status": "CURRENT", "runtimes": [ + "node12", "node18-actions", "node22" ], @@ -2857,22 +2929,12 @@ "binding_policy": "trigger-bound", "compatible_triggers": [] }, - { - "id": "send-phone-message", - "version": "v1", - "status": "DEPRECATED", - "runtimes": [ - "node12" - ], - "default_runtime": "node12", - "binding_policy": "trigger-bound", - "compatible_triggers": [] - }, { "id": "send-phone-message", "version": "v2", "status": "CURRENT", "runtimes": [ + "node12", "node18-actions", "node22" ], @@ -3080,10 +3142,10 @@ "response": { "bindings": [ { - "id": "6b2e7f91-0bc4-428d-8ed0-590d245b03eb", + "id": "59cee46c-795d-42d6-9482-e3fc029ce176", "trigger_id": "custom-phone-provider", "action": { - "id": "40d899f3-a209-42a2-a3ed-39e764dcbc33", + "id": "2b25f34b-cc41-4b78-8eb0-861be0f30f1d", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -3091,29 +3153,29 @@ "version": "v1" } ], - "created_at": "2025-12-11T11:30:13.629492200Z", - "updated_at": "2025-12-11T19:03:56.854977710Z", + "created_at": "2025-12-16T08:57:07.885769307Z", + "updated_at": "2025-12-16T08:57:26.620838969Z", "current_version": { - "id": "7c1d4428-7721-40b7-91b0-c17278614787", + "id": "c371605e-7764-4853-9b1d-f99acc48ed60", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "runtime": "node22", "status": "BUILT", - "number": 4, - "build_time": "2025-12-11T19:03:57.560767224Z", - "created_at": "2025-12-11T19:03:57.472143Z", - "updated_at": "2025-12-11T19:03:57.562385412Z" + "number": 1, + "build_time": "2025-12-16T08:57:27.672686269Z", + "created_at": "2025-12-16T08:57:27.628747836Z", + "updated_at": "2025-12-16T08:57:27.672991951Z" }, "deployed_version": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "7c1d4428-7721-40b7-91b0-c17278614787", + "id": "c371605e-7764-4853-9b1d-f99acc48ed60", "deployed": true, - "number": 4, - "built_at": "2025-12-11T19:03:57.560767224Z", + "number": 1, + "built_at": "2025-12-16T08:57:27.672686269Z", "secrets": [], "status": "built", - "created_at": "2025-12-11T19:03:57.472143Z", - "updated_at": "2025-12-11T19:03:57.562385412Z", + "created_at": "2025-12-16T08:57:27.628747836Z", + "updated_at": "2025-12-16T08:57:27.672991951Z", "runtime": "node22", "supported_triggers": [ { @@ -3124,8 +3186,8 @@ }, "all_changes_deployed": false }, - "created_at": "2025-12-11T19:04:12.425709969Z", - "updated_at": "2025-12-11T19:04:12.425709969Z", + "created_at": "2025-12-16T08:57:28.673623690Z", + "updated_at": "2025-12-16T08:57:28.673623690Z", "display_name": "Custom Phone Provider" } ], @@ -3292,7 +3354,7 @@ "subject": "deprecated" } ], - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3423,23 +3485,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/attack-protection/bot-detection", - "body": "", - "status": 200, - "response": { - "challenge_password_policy": "never", - "challenge_passwordless_policy": "never", - "challenge_password_reset_policy": "never", - "allowlist": [], - "bot_detection_level": "medium", - "monitoring_mode_enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -3475,6 +3520,23 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/attack-protection/bot-detection", + "body": "", + "status": 200, + "response": { + "challenge_password_policy": "never", + "challenge_passwordless_policy": "never", + "challenge_password_reset_policy": "never", + "allowlist": [], + "bot_detection_level": "medium", + "monitoring_mode_enabled": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -3513,22 +3575,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, - "total": 1, - "forms": [ - { - "id": "ap_6JUSCU7qq1CravnoU6d6jr", - "name": "Blank-form", - "flow_count": 0, - "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-11T19:04:15.095Z" - } - ] + "total": 0, + "flows": [] }, "rawHeaders": [], "responseIsBinary": false @@ -3536,14 +3590,22 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, - "total": 0, - "flows": [] + "total": 1, + "forms": [ + { + "id": "ap_6JUSCU7qq1CravnoU6d6jr", + "name": "Blank-form", + "flow_count": 0, + "created_at": "2024-11-26T11:58:18.187Z", + "updated_at": "2025-12-16T05:20:48.391Z" + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -3612,7 +3674,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-11T19:04:15.095Z" + "updated_at": "2025-12-16T05:20:48.391Z" }, "rawHeaders": [], "responseIsBinary": false @@ -3620,14 +3682,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { - "limit": 50, + "limit": 100, "start": 0, "total": 0, - "connections": [] + "flows": [] }, "rawHeaders": [], "responseIsBinary": false @@ -3635,14 +3697,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "limit": 100, + "limit": 50, "start": 0, "total": 0, - "flows": [] + "connections": [] }, "rawHeaders": [], "responseIsBinary": false @@ -3721,7 +3783,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-11T19:04:06.915Z", + "updated_at": "2025-12-16T05:20:33.067Z", "branding": { "colors": { "primary": "#19aecc" @@ -3773,7 +3835,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-11T19:03:58.933Z", + "updated_at": "2025-12-16T08:54:08.759Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] @@ -3836,6 +3898,18 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connection-profiles?take=10", + "body": "", + "status": 200, + "response": { + "connection_profiles": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -5155,7 +5229,7 @@ "subject": "deprecated" } ], - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5179,11 +5253,10 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "path": "/api/v2/clients/u6litSM0kteNcq1warh1NdRpv0MJYaWa", "body": { "name": "Default App", "callbacks": [], - "cross_origin_auth": false, "cross_origin_authentication": false, "custom_login_page_on": true, "grant_types": [ @@ -5238,7 +5311,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5274,7 +5347,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/email", + "path": "/api/v2/guardian/factors/webauthn-platform", "body": { "enabled": false }, @@ -5302,7 +5375,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/push-notification", + "path": "/api/v2/guardian/factors/sms", "body": { "enabled": false }, @@ -5330,7 +5403,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-platform", + "path": "/api/v2/guardian/factors/webauthn-roaming", "body": { "enabled": false }, @@ -5344,7 +5417,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/push-notification", "body": { "enabled": false }, @@ -5358,7 +5431,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", + "path": "/api/v2/guardian/factors/email", "body": { "enabled": false }, @@ -5448,7 +5521,7 @@ "response": { "actions": [ { - "id": "40d899f3-a209-42a2-a3ed-39e764dcbc33", + "id": "2b25f34b-cc41-4b78-8eb0-861be0f30f1d", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -5456,34 +5529,34 @@ "version": "v1" } ], - "created_at": "2025-12-11T11:30:13.629492200Z", - "updated_at": "2025-12-11T19:03:56.861288470Z", + "created_at": "2025-12-16T08:57:07.885769307Z", + "updated_at": "2025-12-16T08:57:26.631290374Z", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], "runtime": "node22", "status": "built", "secrets": [], "current_version": { - "id": "7c1d4428-7721-40b7-91b0-c17278614787", + "id": "c371605e-7764-4853-9b1d-f99acc48ed60", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "runtime": "node22", "status": "BUILT", - "number": 4, - "build_time": "2025-12-11T19:03:57.560767224Z", - "created_at": "2025-12-11T19:03:57.472143Z", - "updated_at": "2025-12-11T19:03:57.562385412Z" + "number": 1, + "build_time": "2025-12-16T08:57:27.672686269Z", + "created_at": "2025-12-16T08:57:27.628747836Z", + "updated_at": "2025-12-16T08:57:27.672991951Z" }, "deployed_version": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "7c1d4428-7721-40b7-91b0-c17278614787", + "id": "c371605e-7764-4853-9b1d-f99acc48ed60", "deployed": true, - "number": 4, - "built_at": "2025-12-11T19:03:57.560767224Z", + "number": 1, + "built_at": "2025-12-16T08:57:27.672686269Z", "secrets": [], "status": "built", - "created_at": "2025-12-11T19:03:57.472143Z", - "updated_at": "2025-12-11T19:03:57.562385412Z", + "created_at": "2025-12-16T08:57:27.628747836Z", + "updated_at": "2025-12-16T08:57:27.672991951Z", "runtime": "node22", "supported_triggers": [ { @@ -5504,7 +5577,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/actions/actions/40d899f3-a209-42a2-a3ed-39e764dcbc33", + "path": "/api/v2/actions/actions/2b25f34b-cc41-4b78-8eb0-861be0f30f1d", "body": { "name": "Custom Phone Provider", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", @@ -5520,7 +5593,7 @@ }, "status": 200, "response": { - "id": "40d899f3-a209-42a2-a3ed-39e764dcbc33", + "id": "2b25f34b-cc41-4b78-8eb0-861be0f30f1d", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -5528,34 +5601,34 @@ "version": "v1" } ], - "created_at": "2025-12-11T11:30:13.629492200Z", - "updated_at": "2025-12-16T05:15:01.577210494Z", + "created_at": "2025-12-16T08:57:07.885769307Z", + "updated_at": "2025-12-16T08:58:22.911650706Z", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], "runtime": "node22", "status": "pending", "secrets": [], "current_version": { - "id": "7c1d4428-7721-40b7-91b0-c17278614787", + "id": "c371605e-7764-4853-9b1d-f99acc48ed60", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "runtime": "node22", "status": "BUILT", - "number": 4, - "build_time": "2025-12-11T19:03:57.560767224Z", - "created_at": "2025-12-11T19:03:57.472143Z", - "updated_at": "2025-12-11T19:03:57.562385412Z" + "number": 1, + "build_time": "2025-12-16T08:57:27.672686269Z", + "created_at": "2025-12-16T08:57:27.628747836Z", + "updated_at": "2025-12-16T08:57:27.672991951Z" }, "deployed_version": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "7c1d4428-7721-40b7-91b0-c17278614787", + "id": "c371605e-7764-4853-9b1d-f99acc48ed60", "deployed": true, - "number": 4, - "built_at": "2025-12-11T19:03:57.560767224Z", + "number": 1, + "built_at": "2025-12-16T08:57:27.672686269Z", "secrets": [], "status": "built", - "created_at": "2025-12-11T19:03:57.472143Z", - "updated_at": "2025-12-11T19:03:57.562385412Z", + "created_at": "2025-12-16T08:57:27.628747836Z", + "updated_at": "2025-12-16T08:57:27.672991951Z", "runtime": "node22", "supported_triggers": [ { @@ -5578,7 +5651,7 @@ "response": { "actions": [ { - "id": "40d899f3-a209-42a2-a3ed-39e764dcbc33", + "id": "2b25f34b-cc41-4b78-8eb0-861be0f30f1d", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -5586,34 +5659,34 @@ "version": "v1" } ], - "created_at": "2025-12-11T11:30:13.629492200Z", - "updated_at": "2025-12-16T05:15:01.577210494Z", + "created_at": "2025-12-16T08:57:07.885769307Z", + "updated_at": "2025-12-16T08:58:22.911650706Z", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], "runtime": "node22", "status": "built", "secrets": [], "current_version": { - "id": "7c1d4428-7721-40b7-91b0-c17278614787", + "id": "c371605e-7764-4853-9b1d-f99acc48ed60", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "runtime": "node22", "status": "BUILT", - "number": 4, - "build_time": "2025-12-11T19:03:57.560767224Z", - "created_at": "2025-12-11T19:03:57.472143Z", - "updated_at": "2025-12-11T19:03:57.562385412Z" + "number": 1, + "build_time": "2025-12-16T08:57:27.672686269Z", + "created_at": "2025-12-16T08:57:27.628747836Z", + "updated_at": "2025-12-16T08:57:27.672991951Z" }, "deployed_version": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "7c1d4428-7721-40b7-91b0-c17278614787", + "id": "c371605e-7764-4853-9b1d-f99acc48ed60", "deployed": true, - "number": 4, - "built_at": "2025-12-11T19:03:57.560767224Z", + "number": 1, + "built_at": "2025-12-16T08:57:27.672686269Z", "secrets": [], "status": "built", - "created_at": "2025-12-11T19:03:57.472143Z", - "updated_at": "2025-12-11T19:03:57.562385412Z", + "created_at": "2025-12-16T08:57:27.628747836Z", + "updated_at": "2025-12-16T08:57:27.672991951Z", "runtime": "node22", "supported_triggers": [ { @@ -5634,19 +5707,19 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "POST", - "path": "/api/v2/actions/actions/40d899f3-a209-42a2-a3ed-39e764dcbc33/deploy", + "path": "/api/v2/actions/actions/2b25f34b-cc41-4b78-8eb0-861be0f30f1d/deploy", "body": "", "status": 200, "response": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", + "id": "77a70d48-694c-4055-becb-b10b99ee73f4", "deployed": false, - "number": 5, + "number": 2, "secrets": [], "status": "built", - "created_at": "2025-12-16T05:15:03.656132145Z", - "updated_at": "2025-12-16T05:15:03.656132145Z", + "created_at": "2025-12-16T08:58:23.642622798Z", + "updated_at": "2025-12-16T08:58:23.642622798Z", "runtime": "node22", "supported_triggers": [ { @@ -5655,7 +5728,7 @@ } ], "action": { - "id": "40d899f3-a209-42a2-a3ed-39e764dcbc33", + "id": "2b25f34b-cc41-4b78-8eb0-861be0f30f1d", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -5663,8 +5736,8 @@ "version": "v1" } ], - "created_at": "2025-12-11T11:30:13.629492200Z", - "updated_at": "2025-12-16T05:15:01.571703559Z", + "created_at": "2025-12-16T08:57:07.885769307Z", + "updated_at": "2025-12-16T08:58:22.906332840Z", "all_changes_deployed": false } }, @@ -5674,12 +5747,40 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/attack-protection/bot-detection", + "path": "/api/v2/attack-protection/brute-force-protection", "body": { - "challenge_password_policy": "never", - "challenge_passwordless_policy": "never", - "challenge_password_reset_policy": "never", - "allowlist": [], + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 10 + }, + "status": 200, + "response": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 10 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/bot-detection", + "body": { + "challenge_password_policy": "never", + "challenge_passwordless_policy": "never", + "challenge_password_reset_policy": "never", + "allowlist": [], "bot_detection_level": "medium", "monitoring_mode_enabled": false }, @@ -5735,6 +5836,42 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/breached-password-detection", + "body": { + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard", + "stage": { + "pre-user-registration": { + "shields": [] + }, + "pre-change-password": { + "shields": [] + } + } + }, + "status": 200, + "response": { + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard", + "stage": { + "pre-user-registration": { + "shields": [] + }, + "pre-change-password": { + "shields": [] + } + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -5787,70 +5924,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/brute-force-protection", - "body": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 10 - }, - "status": 200, - "response": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 10 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/breached-password-detection", - "body": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard", - "stage": { - "pre-user-registration": { - "shields": [] - }, - "pre-change-password": { - "shields": [] - } - } - }, - "status": 200, - "response": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard", - "stage": { - "pre-user-registration": { - "shields": [] - }, - "pre-change-password": { - "shields": [] - } - } - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -5888,7 +5961,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-11T19:03:58.933Z", + "updated_at": "2025-12-16T08:54:08.759Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] @@ -5933,7 +6006,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-16T05:15:07.563Z", + "updated_at": "2025-12-16T08:58:25.157Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" }, "rawHeaders": [], @@ -5997,9 +6070,9 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/user-attribute-profiles/uap_1csDj3szFsgxGS1oTZTdFm", + "path": "/api/v2/user-attribute-profiles/uap_1csDj3sAVu6n5eTzLw6XZg", "body": { - "name": "test-user-attribute-profile-2", + "name": "test-user-attribute-profile", "user_attributes": { "email": { "label": "Email", @@ -6020,8 +6093,8 @@ }, "status": 200, "response": { - "id": "uap_1csDj3szFsgxGS1oTZTdFm", - "name": "test-user-attribute-profile-2", + "id": "uap_1csDj3sAVu6n5eTzLw6XZg", + "name": "test-user-attribute-profile", "user_id": { "oidc_mapping": "sub", "saml_mapping": [ @@ -6046,9 +6119,9 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/user-attribute-profiles/uap_1csDj3sAVu6n5eTzLw6XZg", + "path": "/api/v2/user-attribute-profiles/uap_1csDj3szFsgxGS1oTZTdFm", "body": { - "name": "test-user-attribute-profile", + "name": "test-user-attribute-profile-2", "user_attributes": { "email": { "label": "Email", @@ -6069,8 +6142,8 @@ }, "status": 200, "response": { - "id": "uap_1csDj3sAVu6n5eTzLw6XZg", - "name": "test-user-attribute-profile", + "id": "uap_1csDj3szFsgxGS1oTZTdFm", + "name": "test-user-attribute-profile-2", "user_id": { "oidc_mapping": "sub", "saml_mapping": [ @@ -6092,6 +6165,18 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connection-profiles?take=10", + "body": "", + "status": 200, + "response": { + "connection_profiles": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -6185,7 +6270,7 @@ "subject": "deprecated" } ], - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6252,7 +6337,7 @@ "response": { "connections": [ { - "id": "con_4jeiJ5EmqMspBjmK", + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -6289,7 +6374,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -6307,7 +6392,7 @@ "response": { "connections": [ { - "id": "con_4jeiJ5EmqMspBjmK", + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -6344,7 +6429,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -6356,13 +6441,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK/clients?take=50", + "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn" + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -6375,13 +6460,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK/clients?take=50", + "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn" + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -6394,11 +6479,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK", + "path": "/api/v2/connections/con_itdctyRSC3HQmlX0", "body": "", "status": 200, "response": { - "id": "con_4jeiJ5EmqMspBjmK", + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -6432,7 +6517,7 @@ "active": false }, "enabled_clients": [ - "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ], "realms": [ @@ -6445,7 +6530,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK", + "path": "/api/v2/connections/con_itdctyRSC3HQmlX0", "body": { "authentication": { "active": true @@ -6455,7 +6540,7 @@ }, "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn" + "u6litSM0kteNcq1warh1NdRpv0MJYaWa" ], "is_domain_connection": false, "options": { @@ -6487,7 +6572,7 @@ }, "status": 200, "response": { - "id": "con_4jeiJ5EmqMspBjmK", + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -6522,7 +6607,7 @@ }, "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn" + "u6litSM0kteNcq1warh1NdRpv0MJYaWa" ], "realms": [ "Username-Password-Authentication" @@ -6534,14 +6619,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK/clients", + "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients", "body": [ { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "status": true }, { - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "status": true } ], @@ -6643,7 +6728,7 @@ "subject": "deprecated" } ], - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6710,7 +6795,34 @@ "response": { "connections": [ { - "id": "con_4jeiJ5EmqMspBjmK", + "id": "con_mNzsGFqGTiRm8ck6", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + }, + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "google-oauth2" + ], + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + ] + }, + { + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -6747,7 +6859,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -6765,7 +6877,34 @@ "response": { "connections": [ { - "id": "con_4jeiJ5EmqMspBjmK", + "id": "con_mNzsGFqGTiRm8ck6", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + }, + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "google-oauth2" + ], + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + ] + }, + { + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -6802,7 +6941,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -6814,14 +6953,37 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/emails/provider?fields=name%2Cenabled%2Ccredentials%2Csettings%2Cdefault_from_address&include_fields=true", + "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6/clients?take=50", "body": "", "status": 200, "response": { - "name": "mandrill", - "credentials": {}, - "default_from_address": "auth0-user@auth0.com", - "enabled": false + "clients": [ + { + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + }, + { + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6/clients?take=50", + "body": "", + "status": 200, + "response": { + "clients": [ + { + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + }, + { + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -6829,21 +6991,111 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/emails/provider", + "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6", "body": { - "name": "mandrill", - "credentials": { - "api_key": "##MANDRILL_API_KEY##" + "authentication": { + "active": true }, - "default_from_address": "auth0-user@auth0.com", - "enabled": false + "connected_accounts": { + "active": false + }, + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + ], + "is_domain_connection": false, + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + } }, "status": 200, "response": { - "name": "mandrill", - "credentials": {}, - "default_from_address": "auth0-user@auth0.com", - "enabled": false + "id": "con_mNzsGFqGTiRm8ck6", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + }, + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + ], + "realms": [ + "google-oauth2" + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6/clients", + "body": [ + { + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "status": true + }, + { + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "status": true + } + ], + "status": 204, + "response": "", + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/emails/provider?fields=name%2Cenabled%2Ccredentials%2Csettings%2Cdefault_from_address&include_fields=true", + "body": "", + "status": 200, + "response": { + "name": "mandrill", + "credentials": {}, + "default_from_address": "auth0-user@auth0.com", + "enabled": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/emails/provider", + "body": { + "name": "mandrill", + "credentials": { + "api_key": "##MANDRILL_API_KEY##" + }, + "default_from_address": "auth0-user@auth0.com", + "enabled": false + }, + "status": 200, + "response": { + "name": "mandrill", + "credentials": {}, + "default_from_address": "auth0-user@auth0.com", + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -6941,7 +7193,7 @@ "subject": "deprecated" } ], - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7283,7 +7535,7 @@ }, "credentials": null, "created_at": "2025-12-09T12:24:00.604Z", - "updated_at": "2025-12-11T19:04:05.770Z" + "updated_at": "2025-12-16T08:57:28.720Z" } ] }, @@ -7316,7 +7568,7 @@ ] }, "created_at": "2025-12-09T12:24:00.604Z", - "updated_at": "2025-12-16T05:15:18.469Z" + "updated_at": "2025-12-16T08:58:34.717Z" }, "rawHeaders": [], "responseIsBinary": false @@ -7350,7 +7602,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-11T19:04:06.915Z", + "updated_at": "2025-12-16T05:20:33.067Z", "branding": { "colors": { "primary": "#19aecc" @@ -7426,7 +7678,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-16T05:15:20.151Z", + "updated_at": "2025-12-16T08:58:36.015Z", "branding": { "colors": { "primary": "#19aecc" @@ -7451,7 +7703,7 @@ "type": "blocked_account", "disabled": false, "created_at": "2025-12-09T12:22:47.683Z", - "updated_at": "2025-12-09T12:30:30.019Z", + "updated_at": "2025-12-16T05:15:21.194Z", "content": { "syntax": "liquid", "body": { @@ -7468,7 +7720,7 @@ "type": "change_password", "disabled": false, "created_at": "2025-12-09T12:26:20.243Z", - "updated_at": "2025-12-09T12:30:30.034Z", + "updated_at": "2025-12-16T05:15:21.476Z", "content": { "syntax": "liquid", "body": { @@ -7484,7 +7736,7 @@ "type": "otp_enroll", "disabled": false, "created_at": "2025-12-09T12:26:25.327Z", - "updated_at": "2025-12-09T12:30:30.174Z", + "updated_at": "2025-12-16T05:15:21.567Z", "content": { "syntax": "liquid", "body": { @@ -7500,7 +7752,7 @@ "type": "otp_verify", "disabled": false, "created_at": "2025-12-09T12:26:30.547Z", - "updated_at": "2025-12-09T12:30:30.365Z", + "updated_at": "2025-12-16T05:15:21.814Z", "content": { "syntax": "liquid", "body": { @@ -7536,7 +7788,7 @@ "type": "blocked_account", "disabled": false, "created_at": "2025-12-09T12:22:47.683Z", - "updated_at": "2025-12-16T05:15:21.194Z", + "updated_at": "2025-12-16T08:58:36.736Z", "content": { "syntax": "liquid", "body": { @@ -7552,30 +7804,30 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/branding/phone/templates/tem_xqbUSF83fpnRv8r8rqXFDZ", + "path": "/api/v2/branding/phone/templates/tem_qarYST5TTE5pbMNB5NHZAj", "body": { "content": { "body": { - "text": "{{ code | escape }} is your password change code for {{ friendly_name | escape }}", - "voice": "Hello. Your password change code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your password change code is {{ pause }} {{ code | escape }}" + "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}. Please enter this code to verify your enrollment.", + "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" } }, "disabled": false }, "status": 200, "response": { - "id": "tem_xqbUSF83fpnRv8r8rqXFDZ", + "id": "tem_qarYST5TTE5pbMNB5NHZAj", "tenant": "auth0-deploy-cli-e2e", "channel": "phone", - "type": "change_password", + "type": "otp_enroll", "disabled": false, - "created_at": "2025-12-09T12:26:20.243Z", - "updated_at": "2025-12-16T05:15:21.476Z", + "created_at": "2025-12-09T12:26:25.327Z", + "updated_at": "2025-12-16T08:58:36.804Z", "content": { "syntax": "liquid", "body": { - "text": "{{ code | escape }} is your password change code for {{ friendly_name | escape }}", - "voice": "Hello. Your password change code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your password change code is {{ pause }} {{ code | escape }}" + "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}. Please enter this code to verify your enrollment.", + "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" } } }, @@ -7585,30 +7837,30 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/branding/phone/templates/tem_qarYST5TTE5pbMNB5NHZAj", + "path": "/api/v2/branding/phone/templates/tem_xqbUSF83fpnRv8r8rqXFDZ", "body": { "content": { "body": { - "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}. Please enter this code to verify your enrollment.", - "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" + "text": "{{ code | escape }} is your password change code for {{ friendly_name | escape }}", + "voice": "Hello. Your password change code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your password change code is {{ pause }} {{ code | escape }}" } }, "disabled": false }, "status": 200, "response": { - "id": "tem_qarYST5TTE5pbMNB5NHZAj", + "id": "tem_xqbUSF83fpnRv8r8rqXFDZ", "tenant": "auth0-deploy-cli-e2e", "channel": "phone", - "type": "otp_enroll", + "type": "change_password", "disabled": false, - "created_at": "2025-12-09T12:26:25.327Z", - "updated_at": "2025-12-16T05:15:21.567Z", + "created_at": "2025-12-09T12:26:20.243Z", + "updated_at": "2025-12-16T08:58:36.831Z", "content": { "syntax": "liquid", "body": { - "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}. Please enter this code to verify your enrollment.", - "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" + "text": "{{ code | escape }} is your password change code for {{ friendly_name | escape }}", + "voice": "Hello. Your password change code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your password change code is {{ pause }} {{ code | escape }}" } } }, @@ -7636,7 +7888,7 @@ "type": "otp_verify", "disabled": false, "created_at": "2025-12-09T12:26:30.547Z", - "updated_at": "2025-12-16T05:15:21.814Z", + "updated_at": "2025-12-16T08:58:37.073Z", "content": { "syntax": "liquid", "body": { @@ -7657,7 +7909,7 @@ "response": { "actions": [ { - "id": "40d899f3-a209-42a2-a3ed-39e764dcbc33", + "id": "2b25f34b-cc41-4b78-8eb0-861be0f30f1d", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -7665,34 +7917,34 @@ "version": "v1" } ], - "created_at": "2025-12-11T11:30:13.629492200Z", - "updated_at": "2025-12-16T05:15:01.577210494Z", + "created_at": "2025-12-16T08:57:07.885769307Z", + "updated_at": "2025-12-16T08:58:22.911650706Z", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], "runtime": "node22", "status": "built", "secrets": [], "current_version": { - "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", + "id": "77a70d48-694c-4055-becb-b10b99ee73f4", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "runtime": "node22", "status": "BUILT", - "number": 5, - "build_time": "2025-12-16T05:15:03.730905338Z", - "created_at": "2025-12-16T05:15:03.656132145Z", - "updated_at": "2025-12-16T05:15:03.732003986Z" + "number": 2, + "build_time": "2025-12-16T08:58:23.733386236Z", + "created_at": "2025-12-16T08:58:23.642622798Z", + "updated_at": "2025-12-16T08:58:23.734859050Z" }, "deployed_version": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", + "id": "77a70d48-694c-4055-becb-b10b99ee73f4", "deployed": true, - "number": 5, - "built_at": "2025-12-16T05:15:03.730905338Z", + "number": 2, + "built_at": "2025-12-16T08:58:23.733386236Z", "secrets": [], "status": "built", - "created_at": "2025-12-16T05:15:03.656132145Z", - "updated_at": "2025-12-16T05:15:03.732003986Z", + "created_at": "2025-12-16T08:58:23.642622798Z", + "updated_at": "2025-12-16T08:58:23.734859050Z", "runtime": "node22", "supported_triggers": [ { @@ -7906,7 +8158,7 @@ "subject": "deprecated" } ], - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7973,7 +8225,34 @@ "response": { "connections": [ { - "id": "con_4jeiJ5EmqMspBjmK", + "id": "con_mNzsGFqGTiRm8ck6", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + }, + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "google-oauth2" + ], + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + ] + }, + { + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -8010,7 +8289,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -8019,157 +8298,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", - "body": "", - "status": 200, - "response": { - "total": 3, - "start": 0, - "limit": 100, - "clients": [ - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", - "is_first_party": true, - "oidc_conformant": true, - "sso_disabled": false, - "cross_origin_auth": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "cross_origin_authentication": true, - "allowed_clients": [], - "callbacks": [], - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials", - "implicit", - "authorization_code", - "refresh_token" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", - "callbacks": [], - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], - "is_first_party": true, - "name": "All Applications", - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -8418,6 +8546,157 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "total": 3, + "start": 0, + "limit": 100, + "clients": [ + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Deploy CLI", + "is_first_party": true, + "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "cross_origin_authentication": true, + "allowed_clients": [], + "callbacks": [], + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials", + "implicit", + "authorization_code", + "refresh_token" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Default App", + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": true, + "callbacks": [], + "is_first_party": true, + "name": "All Applications", + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" + ], + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -8477,10 +8756,10 @@ "response": { "bindings": [ { - "id": "d885dc2e-8002-4692-ba48-e70d9325fe78", + "id": "0fc89848-3924-4c97-96f6-501a8f76f378", "trigger_id": "custom-phone-provider", "action": { - "id": "40d899f3-a209-42a2-a3ed-39e764dcbc33", + "id": "2b25f34b-cc41-4b78-8eb0-861be0f30f1d", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -8488,29 +8767,29 @@ "version": "v1" } ], - "created_at": "2025-12-11T11:30:13.629492200Z", - "updated_at": "2025-12-16T05:15:01.571703559Z", + "created_at": "2025-12-16T08:57:07.885769307Z", + "updated_at": "2025-12-16T08:58:22.906332840Z", "current_version": { - "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", + "id": "77a70d48-694c-4055-becb-b10b99ee73f4", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "runtime": "node22", "status": "BUILT", - "number": 5, - "build_time": "2025-12-16T05:15:03.730905338Z", - "created_at": "2025-12-16T05:15:03.656132145Z", - "updated_at": "2025-12-16T05:15:03.732003986Z" + "number": 2, + "build_time": "2025-12-16T08:58:23.733386236Z", + "created_at": "2025-12-16T08:58:23.642622798Z", + "updated_at": "2025-12-16T08:58:23.734859050Z" }, "deployed_version": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "9b05dee7-c8c0-4f0d-9e0e-14531369af8b", + "id": "77a70d48-694c-4055-becb-b10b99ee73f4", "deployed": true, - "number": 5, - "built_at": "2025-12-16T05:15:03.730905338Z", + "number": 2, + "built_at": "2025-12-16T08:58:23.733386236Z", "secrets": [], "status": "built", - "created_at": "2025-12-16T05:15:03.656132145Z", - "updated_at": "2025-12-16T05:15:03.732003986Z", + "created_at": "2025-12-16T08:58:23.642622798Z", + "updated_at": "2025-12-16T08:58:23.734859050Z", "runtime": "node22", "supported_triggers": [ { @@ -8521,8 +8800,8 @@ }, "all_changes_deployed": false }, - "created_at": "2025-12-16T05:15:29.671498879Z", - "updated_at": "2025-12-16T05:15:29.671498879Z", + "created_at": "2025-12-16T08:58:43.239027497Z", + "updated_at": "2025-12-16T08:58:43.239027497Z", "display_name": "Custom Phone Provider" } ] @@ -8563,14 +8842,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "limit": 100, + "limit": 50, "start": 0, "total": 0, - "flows": [] + "connections": [] }, "rawHeaders": [], "responseIsBinary": false @@ -8578,14 +8857,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { - "limit": 50, + "limit": 100, "start": 0, "total": 0, - "connections": [] + "flows": [] }, "rawHeaders": [], "responseIsBinary": false @@ -8636,7 +8915,7 @@ "name": "Blank-form", "flow_count": 0, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-11T19:04:15.095Z" + "updated_at": "2025-12-16T05:20:48.391Z" } ] }, @@ -8722,7 +9001,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-11T19:04:15.095Z" + "updated_at": "2025-12-16T05:20:48.391Z" }, "rawHeaders": [], "responseIsBinary": false @@ -8847,7 +9126,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-16T05:15:34.906Z" + "updated_at": "2025-12-16T08:58:46.399Z" }, "rawHeaders": [], "responseIsBinary": false diff --git a/test/e2e/recordings/should-dump-without-throwing-an-error.json b/test/e2e/recordings/should-dump-without-throwing-an-error.json index 7a4409b14..3001e1f67 100644 --- a/test/e2e/recordings/should-dump-without-throwing-an-error.json +++ b/test/e2e/recordings/should-dump-without-throwing-an-error.json @@ -1222,7 +1222,7 @@ "subject": "deprecated" } ], - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1252,7 +1252,7 @@ "response": { "connections": [ { - "id": "con_4jeiJ5EmqMspBjmK", + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -1289,7 +1289,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -1301,13 +1301,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK/clients?take=50", + "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn" + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -1320,13 +1320,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_4jeiJ5EmqMspBjmK/clients?take=50", + "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn" + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -1345,7 +1345,7 @@ "response": { "connections": [ { - "id": "con_4jeiJ5EmqMspBjmK", + "id": "con_itdctyRSC3HQmlX0", "options": { "mfa": { "active": true, @@ -1382,7 +1382,7 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } @@ -1514,14 +1514,18 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email", + "path": "/api/v2/email-templates/welcome_email", "body": "", - "status": 404, + "status": 200, "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "from": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", + "syntax": "liquid", + "urlLifetimeInSeconds": 3600, + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -1529,7 +1533,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email_by_code", + "path": "/api/v2/email-templates/stolen_credentials", "body": "", "status": 404, "response": { @@ -1544,7 +1548,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/enrollment_email", + "path": "/api/v2/email-templates/password_reset", "body": "", "status": 404, "response": { @@ -1559,18 +1563,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/welcome_email", + "path": "/api/v2/email-templates/user_invitation", "body": "", - "status": 200, + "status": 404, "response": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" }, "rawHeaders": [], "responseIsBinary": false @@ -1578,7 +1578,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/stolen_credentials", + "path": "/api/v2/email-templates/async_approval", "body": "", "status": 404, "response": { @@ -1593,7 +1593,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/blocked_account", + "path": "/api/v2/email-templates/enrollment_email", "body": "", "status": 404, "response": { @@ -1608,7 +1608,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/mfa_oob_code", + "path": "/api/v2/email-templates/reset_email", "body": "", "status": 404, "response": { @@ -1623,7 +1623,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/user_invitation", + "path": "/api/v2/email-templates/mfa_oob_code", "body": "", "status": 404, "response": { @@ -1638,7 +1638,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/change_password", + "path": "/api/v2/email-templates/blocked_account", "body": "", "status": 404, "response": { @@ -1653,7 +1653,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/password_reset", + "path": "/api/v2/email-templates/change_password", "body": "", "status": 404, "response": { @@ -1668,7 +1668,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/async_approval", + "path": "/api/v2/email-templates/reset_email_by_code", "body": "", "status": 404, "response": { @@ -2108,7 +2108,7 @@ }, "credentials": null, "created_at": "2025-12-09T12:24:00.604Z", - "updated_at": "2025-12-11T19:04:05.770Z" + "updated_at": "2025-12-16T05:15:18.469Z" } ] }, @@ -2130,7 +2130,7 @@ "type": "blocked_account", "disabled": false, "created_at": "2025-12-09T12:22:47.683Z", - "updated_at": "2025-12-09T12:30:30.019Z", + "updated_at": "2025-12-16T05:15:21.194Z", "content": { "syntax": "liquid", "body": { @@ -2147,7 +2147,7 @@ "type": "change_password", "disabled": false, "created_at": "2025-12-09T12:26:20.243Z", - "updated_at": "2025-12-09T12:30:30.034Z", + "updated_at": "2025-12-16T05:15:21.476Z", "content": { "syntax": "liquid", "body": { @@ -2163,7 +2163,7 @@ "type": "otp_enroll", "disabled": false, "created_at": "2025-12-09T12:26:25.327Z", - "updated_at": "2025-12-09T12:30:30.174Z", + "updated_at": "2025-12-16T05:15:21.567Z", "content": { "syntax": "liquid", "body": { @@ -2179,7 +2179,7 @@ "type": "otp_verify", "disabled": false, "created_at": "2025-12-09T12:26:30.547Z", - "updated_at": "2025-12-09T12:30:30.365Z", + "updated_at": "2025-12-16T05:15:21.814Z", "content": { "syntax": "liquid", "body": { @@ -2341,7 +2341,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup-id/custom-text/en", + "path": "/api/v2/prompts/signup-password/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2351,7 +2351,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup-password/custom-text/en", + "path": "/api/v2/prompts/signup-id/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2371,7 +2371,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/phone-identifier-challenge/custom-text/en", + "path": "/api/v2/prompts/email-identifier-challenge/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2381,7 +2381,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/email-identifier-challenge/custom-text/en", + "path": "/api/v2/prompts/phone-identifier-challenge/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2391,7 +2391,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/reset-password/custom-text/en", + "path": "/api/v2/prompts/custom-form/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2401,7 +2401,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/custom-form/custom-text/en", + "path": "/api/v2/prompts/consent/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2411,7 +2411,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/consent/custom-text/en", + "path": "/api/v2/prompts/reset-password/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2451,7 +2451,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-otp/custom-text/en", + "path": "/api/v2/prompts/mfa-voice/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2461,7 +2461,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-voice/custom-text/en", + "path": "/api/v2/prompts/mfa-otp/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2481,7 +2481,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-webauthn/custom-text/en", + "path": "/api/v2/prompts/mfa-sms/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2491,7 +2491,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-sms/custom-text/en", + "path": "/api/v2/prompts/mfa-webauthn/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2501,7 +2501,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-email/custom-text/en", + "path": "/api/v2/prompts/mfa-recovery-code/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2511,7 +2511,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-recovery-code/custom-text/en", + "path": "/api/v2/prompts/mfa/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2521,7 +2521,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa/custom-text/en", + "path": "/api/v2/prompts/mfa-email/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2541,7 +2541,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/device-flow/custom-text/en", + "path": "/api/v2/prompts/email-verification/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2551,7 +2551,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/email-verification/custom-text/en", + "path": "/api/v2/prompts/device-flow/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2631,7 +2631,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login/partials", + "path": "/api/v2/prompts/login-id/partials", "body": "", "status": 200, "response": {}, @@ -2641,7 +2641,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/partials", + "path": "/api/v2/prompts/login-password/partials", "body": "", "status": 200, "response": {}, @@ -2651,7 +2651,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-password/partials", + "path": "/api/v2/prompts/login/partials", "body": "", "status": 200, "response": {}, @@ -2698,6 +2698,21 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/prompts/rendering?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "configs": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -2705,56 +2720,7 @@ "body": "", "status": 200, "response": { - "actions": [ - { - "id": "40d899f3-a209-42a2-a3ed-39e764dcbc33", - "name": "Custom Phone Provider", - "supported_triggers": [ - { - "id": "custom-phone-provider", - "version": "v1" - } - ], - "created_at": "2025-12-11T11:30:13.629492200Z", - "updated_at": "2025-12-11T19:03:56.861288470Z", - "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", - "dependencies": [], - "runtime": "node22", - "status": "built", - "secrets": [], - "current_version": { - "id": "7c1d4428-7721-40b7-91b0-c17278614787", - "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", - "runtime": "node22", - "status": "BUILT", - "number": 4, - "build_time": "2025-12-11T19:03:57.560767224Z", - "created_at": "2025-12-11T19:03:57.472143Z", - "updated_at": "2025-12-11T19:03:57.562385412Z" - }, - "deployed_version": { - "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", - "dependencies": [], - "id": "7c1d4428-7721-40b7-91b0-c17278614787", - "deployed": true, - "number": 4, - "built_at": "2025-12-11T19:03:57.560767224Z", - "secrets": [], - "status": "built", - "created_at": "2025-12-11T19:03:57.472143Z", - "updated_at": "2025-12-11T19:03:57.562385412Z", - "runtime": "node22", - "supported_triggers": [ - { - "id": "custom-phone-provider", - "version": "v1" - } - ] - }, - "all_changes_deployed": true - } - ], - "total": 1, + "actions": [], "per_page": 100 }, "rawHeaders": [], @@ -2768,17 +2734,6 @@ "status": 200, "response": { "triggers": [ - { - "id": "post-login", - "version": "v2", - "status": "DEPRECATED", - "runtimes": [ - "node18" - ], - "default_runtime": "node16", - "binding_policy": "trigger-bound", - "compatible_triggers": [] - }, { "id": "post-login", "version": "v3", @@ -2796,12 +2751,33 @@ } ] }, + { + "id": "post-login", + "version": "v2", + "status": "DEPRECATED", + "runtimes": [ + "node18" + ], + "default_runtime": "node16", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, + { + "id": "credentials-exchange", + "version": "v1", + "status": "DEPRECATED", + "runtimes": [ + "node12" + ], + "default_runtime": "node12", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, { "id": "credentials-exchange", "version": "v2", "status": "CURRENT", "runtimes": [ - "node12", "node18-actions", "node22" ], @@ -2814,7 +2790,6 @@ "version": "v2", "status": "CURRENT", "runtimes": [ - "node12", "node18-actions", "node22" ], @@ -2822,12 +2797,22 @@ "binding_policy": "trigger-bound", "compatible_triggers": [] }, + { + "id": "post-user-registration", + "version": "v1", + "status": "DEPRECATED", + "runtimes": [ + "node12" + ], + "default_runtime": "node12", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, { "id": "post-user-registration", "version": "v2", "status": "CURRENT", "runtimes": [ - "node12", "node18-actions", "node22" ], @@ -2840,7 +2825,6 @@ "version": "v2", "status": "CURRENT", "runtimes": [ - "node12", "node18-actions", "node22" ], @@ -2848,12 +2832,22 @@ "binding_policy": "trigger-bound", "compatible_triggers": [] }, + { + "id": "send-phone-message", + "version": "v1", + "status": "DEPRECATED", + "runtimes": [ + "node12" + ], + "default_runtime": "node12", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, { "id": "send-phone-message", "version": "v2", "status": "CURRENT", "runtimes": [ - "node12", "node18-actions", "node22" ], @@ -3059,58 +3053,7 @@ "body": "", "status": 200, "response": { - "bindings": [ - { - "id": "6b2e7f91-0bc4-428d-8ed0-590d245b03eb", - "trigger_id": "custom-phone-provider", - "action": { - "id": "40d899f3-a209-42a2-a3ed-39e764dcbc33", - "name": "Custom Phone Provider", - "supported_triggers": [ - { - "id": "custom-phone-provider", - "version": "v1" - } - ], - "created_at": "2025-12-11T11:30:13.629492200Z", - "updated_at": "2025-12-11T19:03:56.854977710Z", - "current_version": { - "id": "7c1d4428-7721-40b7-91b0-c17278614787", - "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", - "runtime": "node22", - "status": "BUILT", - "number": 4, - "build_time": "2025-12-11T19:03:57.560767224Z", - "created_at": "2025-12-11T19:03:57.472143Z", - "updated_at": "2025-12-11T19:03:57.562385412Z" - }, - "deployed_version": { - "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", - "dependencies": [], - "id": "7c1d4428-7721-40b7-91b0-c17278614787", - "deployed": true, - "number": 4, - "built_at": "2025-12-11T19:03:57.560767224Z", - "secrets": [], - "status": "built", - "created_at": "2025-12-11T19:03:57.472143Z", - "updated_at": "2025-12-11T19:03:57.562385412Z", - "runtime": "node22", - "supported_triggers": [ - { - "id": "custom-phone-provider", - "version": "v1" - } - ] - }, - "all_changes_deployed": false - }, - "created_at": "2025-12-11T19:04:12.425709969Z", - "updated_at": "2025-12-11T19:04:12.425709969Z", - "display_name": "Custom Phone Provider" - } - ], - "total": 1, + "bindings": [], "per_page": 50 }, "rawHeaders": [], @@ -3273,7 +3216,7 @@ "subject": "deprecated" } ], - "client_id": "JzFJb7k5do9MeIVwFhfmEOPVl2FGsDjn", + "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3507,7 +3450,7 @@ "name": "Blank-form", "flow_count": 0, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-11T19:04:15.095Z" + "updated_at": "2025-12-16T05:20:48.391Z" } ] }, @@ -3593,7 +3536,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-11T19:04:15.095Z" + "updated_at": "2025-12-16T05:20:48.391Z" }, "rawHeaders": [], "responseIsBinary": false @@ -3601,14 +3544,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "limit": 100, + "limit": 50, "start": 0, "total": 0, - "flows": [] + "connections": [] }, "rawHeaders": [], "responseIsBinary": false @@ -3616,14 +3559,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { - "limit": 50, + "limit": 100, "start": 0, "total": 0, - "connections": [] + "flows": [] }, "rawHeaders": [], "responseIsBinary": false @@ -3702,7 +3645,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-11T19:04:06.915Z", + "updated_at": "2025-12-16T05:20:33.067Z", "branding": { "colors": { "primary": "#19aecc" @@ -3754,7 +3697,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-11T19:03:58.933Z", + "updated_at": "2025-12-16T05:20:12.065Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] @@ -3817,6 +3760,18 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connection-profiles?take=10", + "body": "", + "status": 200, + "response": { + "connection_profiles": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", diff --git a/test/e2e/recordings/should-preserve-keywords-for-directory-format.json b/test/e2e/recordings/should-preserve-keywords-for-directory-format.json index 8ba15806c..77ad9131a 100644 --- a/test/e2e/recordings/should-preserve-keywords-for-directory-format.json +++ b/test/e2e/recordings/should-preserve-keywords-for-directory-format.json @@ -6,7 +6,7 @@ "body": "", "status": 200, "response": { - "total": 3, + "total": 9, "start": 0, "limit": 100, "clients": [ @@ -69,11 +69,176 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", + "name": "API Explorer Application", + "allowed_clients": [], "callbacks": [], + "client_metadata": {}, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "vVbUuOLzLQ9k7iwdZoLRtQuhG8XHUkSY", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "O0AMH5MORoUOkQ8g31aPVmBZ11jyApI5", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "allowed_origins": [], + "client_id": "88gPebiknBTdBHOAYrSdF2WWRyuroAax", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "regular_web", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "web_origins": [], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "The Default App", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -83,8 +248,10 @@ "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -92,7 +259,7 @@ "subject": "deprecated" } ], - "client_id": "Lt6GqstC0ERmNFSyWMCWy6pZYFHUgAdl", + "client_id": "7vlUKQihTlaGoILrgQ51JW4xMbU1XhI0", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -100,6 +267,8 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", @@ -112,12 +281,115 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Auth0 CLI - dev", + "name": "Terraform Provider", + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "R9N1M3jJcxlEKpIcm4EX8glA7Krb9h1k", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], + "client_metadata": {}, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "9ztJ1ZaM0iTa9eR2Ga08KOrwBNqNuRmr", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "none", + "app_type": "spa", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, - "logo_uri": "https://dev.assets.com/photos/foo", "native_social_login": { "apple": { "enabled": false @@ -126,6 +398,7 @@ "enabled": false } }, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -137,7 +410,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, - "oidc_conformant": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -145,7 +418,7 @@ "subject": "deprecated" } ], - "client_id": "y9oVy76WWPiq8gNm9dhZCsv3kSeDgljh", + "client_id": "8DngHjTrjB57cRXo74zYn4qohnAxjFsG", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -160,23 +433,75 @@ "client_credentials" ], "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/clients/y9oVy76WWPiq8gNm9dhZCsv3kSeDgljh", - "body": { + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Auth0 CLI - dev", + "allowed_clients": [], + "callbacks": [], + "is_first_party": true, + "logo_uri": "https://dev.assets.com/photos/foo", + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "oidc_conformant": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "f0itxCUp80tHKrEP3sa5C1hkeuLu6EjC", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/clients/f0itxCUp80tHKrEP3sa5C1hkeuLu6EjC", + "body": { "name": "Auth0 CLI - dev", "allowed_clients": [], "app_type": "non_interactive", "callbacks": [], "client_aliases": [], - "cross_origin_auth": false, "custom_login_page_on": true, "grant_types": [ "client_credentials" @@ -206,7 +531,8 @@ "rotation_type": "non-rotating" }, "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post" + "token_endpoint_auth_method": "client_secret_post", + "cross_origin_authentication": false }, "status": 200, "response": { @@ -216,7 +542,6 @@ "name": "Auth0 CLI - dev", "allowed_clients": [], "callbacks": [], - "cross_origin_auth": false, "is_first_party": true, "logo_uri": "https://dev.assets.com/photos/foo", "native_social_login": { @@ -238,6 +563,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "oidc_conformant": false, "signing_keys": [ { @@ -246,7 +572,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "y9oVy76WWPiq8gNm9dhZCsv3kSeDgljh", + "client_id": "f0itxCUp80tHKrEP3sa5C1hkeuLu6EjC", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -365,6 +691,7 @@ }, "identifier_first": true }, + "resource_parameter_profile": "audience", "session_cookie": { "mode": "non-persistent" } @@ -379,7 +706,7 @@ "body": "", "status": 200, "response": { - "total": 3, + "total": 9, "start": 0, "limit": 100, "clients": [ @@ -387,23 +714,324 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", - "is_first_party": true, - "oidc_conformant": true, - "sso_disabled": false, - "cross_origin_auth": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "cross_origin_authentication": true, + "name": "Deploy CLI", + "is_first_party": true, + "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "cross_origin_authentication": true, + "allowed_clients": [], + "callbacks": [], + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials", + "implicit", + "authorization_code", + "refresh_token" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "vVbUuOLzLQ9k7iwdZoLRtQuhG8XHUkSY", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "O0AMH5MORoUOkQ8g31aPVmBZ11jyApI5", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "allowed_origins": [], + "client_id": "88gPebiknBTdBHOAYrSdF2WWRyuroAax", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "regular_web", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "web_origins": [], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "The Default App", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso": false, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "7vlUKQihTlaGoILrgQ51JW4xMbU1XhI0", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Terraform Provider", + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "R9N1M3jJcxlEKpIcm4EX8glA7Krb9h1k", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], + "client_metadata": {}, + "is_first_party": true, "native_social_login": { "apple": { "enabled": false @@ -412,6 +1040,19 @@ "enabled": false } }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -419,7 +1060,7 @@ "subject": "deprecated" } ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "client_id": "9ztJ1ZaM0iTa9eR2Ga08KOrwBNqNuRmr", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -428,36 +1069,48 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ - "client_credentials", - "implicit", "authorization_code", + "implicit", "refresh_token" ], + "web_origins": [ + "http://localhost:3000" + ], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], "callbacks": [], - "cross_origin_auth": false, + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -465,7 +1118,7 @@ "subject": "deprecated" } ], - "client_id": "Lt6GqstC0ERmNFSyWMCWy6pZYFHUgAdl", + "client_id": "8DngHjTrjB57cRXo74zYn4qohnAxjFsG", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -473,10 +1126,10 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -488,7 +1141,6 @@ "name": "Auth0 CLI - dev", "allowed_clients": [], "callbacks": [], - "cross_origin_auth": false, "is_first_party": true, "logo_uri": "https://dev.assets.com/photos/foo", "native_social_login": { @@ -510,6 +1162,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "oidc_conformant": false, "signing_keys": [ { @@ -518,7 +1171,7 @@ "subject": "deprecated" } ], - "client_id": "y9oVy76WWPiq8gNm9dhZCsv3kSeDgljh", + "client_id": "f0itxCUp80tHKrEP3sa5C1hkeuLu6EjC", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -599,6 +1252,7 @@ "page_background": "#222221" } }, + "resource_parameter_profile": "audience", "session_cookie": { "mode": "non-persistent" }, @@ -614,18 +1268,17 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/welcome_email", + "path": "/api/v2/email-templates/verify_email", "body": "", "status": 200, "response": { - "template": "welcome_email", - "body": "\n \n

Welcome to This tenant name should be preserved!

\n \n\n", + "template": "verify_email", + "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", "from": "", - "resultUrl": "https://travel0.com/welcome", - "subject": "Welcome", + "subject": "", "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false + "urlLifetimeInSeconds": 432000, + "enabled": true }, "rawHeaders": [], "responseIsBinary": false @@ -633,7 +1286,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/change_password", + "path": "/api/v2/email-templates/reset_email", "body": "", "status": 404, "response": { @@ -648,7 +1301,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/async_approval", + "path": "/api/v2/email-templates/blocked_account", "body": "", "status": 404, "response": { @@ -663,7 +1316,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/mfa_oob_code", + "path": "/api/v2/email-templates/user_invitation", "body": "", "status": 404, "response": { @@ -678,7 +1331,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/password_reset", + "path": "/api/v2/email-templates/stolen_credentials", "body": "", "status": 404, "response": { @@ -693,7 +1346,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/blocked_account", + "path": "/api/v2/email-templates/async_approval", "body": "", "status": 404, "response": { @@ -708,17 +1361,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/verify_email", + "path": "/api/v2/email-templates/reset_email_by_code", "body": "", - "status": 200, + "status": 404, "response": { - "template": "verify_email", - "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", - "from": "", - "subject": "", - "syntax": "liquid", - "urlLifetimeInSeconds": 432000, - "enabled": true + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" }, "rawHeaders": [], "responseIsBinary": false @@ -726,14 +1376,18 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email", + "path": "/api/v2/email-templates/welcome_email", "body": "", - "status": 404, + "status": 200, "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" + "template": "welcome_email", + "body": "\n \n

Welcome to This tenant name should be preserved!

\n \n\n", + "from": "", + "resultUrl": "https://travel0.com/welcome", + "subject": "Welcome", + "syntax": "liquid", + "urlLifetimeInSeconds": 3600, + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -741,7 +1395,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/enrollment_email", + "path": "/api/v2/email-templates/mfa_oob_code", "body": "", "status": 404, "response": { @@ -756,7 +1410,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email_by_code", + "path": "/api/v2/email-templates/change_password", "body": "", "status": 404, "response": { @@ -771,7 +1425,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/stolen_credentials", + "path": "/api/v2/email-templates/verify_email_by_code", "body": "", "status": 404, "response": { @@ -786,7 +1440,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/user_invitation", + "path": "/api/v2/email-templates/password_reset", "body": "", "status": 404, "response": { @@ -801,7 +1455,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/verify_email_by_code", + "path": "/api/v2/email-templates/enrollment_email", "body": "", "status": 404, "response": { @@ -820,7 +1474,7 @@ "body": "", "status": 200, "response": { - "total": 3, + "total": 9, "start": 0, "limit": 100, "clients": [ @@ -828,11 +1482,173 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", + "name": "Deploy CLI", + "is_first_party": true, + "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "cross_origin_authentication": true, + "allowed_clients": [], + "callbacks": [], + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials", + "implicit", + "authorization_code", + "refresh_token" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "vVbUuOLzLQ9k7iwdZoLRtQuhG8XHUkSY", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "O0AMH5MORoUOkQ8g31aPVmBZ11jyApI5", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, - "sso_disabled": false, - "cross_origin_auth": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -842,9 +1658,46 @@ "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "cross_origin_authentication": true, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "allowed_origins": [], + "client_id": "88gPebiknBTdBHOAYrSdF2WWRyuroAax", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "regular_web", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "web_origins": [], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "The Default App", "allowed_clients": [], "callbacks": [], + "client_metadata": {}, + "is_first_party": true, "native_social_login": { "apple": { "enabled": false @@ -853,6 +1706,20 @@ "enabled": false } }, + "oidc_conformant": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso": false, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -860,7 +1727,7 @@ "subject": "deprecated" } ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "client_id": "7vlUKQihTlaGoILrgQ51JW4xMbU1XhI0", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -870,12 +1737,11 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", "grant_types": [ - "client_credentials", - "implicit", "authorization_code", - "refresh_token" + "implicit", + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -883,9 +1749,7 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", - "callbacks": [], - "cross_origin_auth": false, + "name": "Terraform Provider", "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -893,12 +1757,70 @@ "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "R9N1M3jJcxlEKpIcm4EX8glA7Krb9h1k", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], + "client_metadata": {}, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -906,7 +1828,7 @@ "subject": "deprecated" } ], - "client_id": "Lt6GqstC0ERmNFSyWMCWy6pZYFHUgAdl", + "client_id": "9ztJ1ZaM0iTa9eR2Ga08KOrwBNqNuRmr", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -914,10 +1836,68 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "8DngHjTrjB57cRXo74zYn4qohnAxjFsG", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ "client_credentials" ], "custom_login_page_on": true @@ -929,7 +1909,6 @@ "name": "Auth0 CLI - dev", "allowed_clients": [], "callbacks": [], - "cross_origin_auth": false, "is_first_party": true, "logo_uri": "https://dev.assets.com/photos/foo", "native_social_login": { @@ -951,6 +1930,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "oidc_conformant": false, "signing_keys": [ { @@ -959,7 +1939,7 @@ "subject": "deprecated" } ], - "client_id": "y9oVy76WWPiq8gNm9dhZCsv3kSeDgljh", + "client_id": "f0itxCUp80tHKrEP3sa5C1hkeuLu6EjC", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1040,6 +2020,7 @@ "page_background": "#222221" } }, + "resource_parameter_profile": "audience", "session_cookie": { "mode": "non-persistent" }, @@ -1070,7 +2051,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/password_reset", + "path": "/api/v2/email-templates/mfa_oob_code", "body": "", "status": 404, "response": { @@ -1085,7 +2066,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email", + "path": "/api/v2/email-templates/async_approval", "body": "", "status": 404, "response": { @@ -1115,14 +2096,17 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email_by_code", + "path": "/api/v2/email-templates/verify_email", "body": "", - "status": 404, + "status": 200, "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" + "template": "verify_email", + "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", + "from": "", + "subject": "", + "syntax": "liquid", + "urlLifetimeInSeconds": 432000, + "enabled": true }, "rawHeaders": [], "responseIsBinary": false @@ -1145,18 +2129,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/welcome_email", + "path": "/api/v2/email-templates/verify_email_by_code", "body": "", - "status": 200, + "status": 404, "response": { - "template": "welcome_email", - "body": "\n \n

Welcome to This tenant name should be preserved!

\n \n\n", - "from": "", - "resultUrl": "https://travel0.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" }, "rawHeaders": [], "responseIsBinary": false @@ -1164,7 +2144,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/mfa_oob_code", + "path": "/api/v2/email-templates/reset_email_by_code", "body": "", "status": 404, "response": { @@ -1179,17 +2159,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/verify_email", + "path": "/api/v2/email-templates/reset_email", "body": "", - "status": 200, + "status": 404, "response": { - "template": "verify_email", - "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", - "from": "", - "subject": "", - "syntax": "liquid", - "urlLifetimeInSeconds": 432000, - "enabled": true + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" }, "rawHeaders": [], "responseIsBinary": false @@ -1197,7 +2174,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/async_approval", + "path": "/api/v2/email-templates/change_password", "body": "", "status": 404, "response": { @@ -1227,7 +2204,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/verify_email_by_code", + "path": "/api/v2/email-templates/password_reset", "body": "", "status": 404, "response": { @@ -1242,14 +2219,18 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/change_password", + "path": "/api/v2/email-templates/welcome_email", "body": "", - "status": 404, + "status": 200, "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" + "template": "welcome_email", + "body": "\n \n

Welcome to This tenant name should be preserved!

\n \n\n", + "from": "", + "resultUrl": "https://travel0.com/welcome", + "subject": "Welcome", + "syntax": "liquid", + "urlLifetimeInSeconds": 3600, + "enabled": false }, "rawHeaders": [], "responseIsBinary": false diff --git a/test/e2e/recordings/should-preserve-keywords-for-yaml-format.json b/test/e2e/recordings/should-preserve-keywords-for-yaml-format.json index de661d084..43f5cb51f 100644 --- a/test/e2e/recordings/should-preserve-keywords-for-yaml-format.json +++ b/test/e2e/recordings/should-preserve-keywords-for-yaml-format.json @@ -6,7 +6,7 @@ "body": "", "status": 200, "response": { - "total": 2, + "total": 9, "start": 0, "limit": 100, "clients": [ @@ -69,11 +69,176 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", + "name": "API Explorer Application", + "allowed_clients": [], "callbacks": [], + "client_metadata": {}, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "vVbUuOLzLQ9k7iwdZoLRtQuhG8XHUkSY", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "O0AMH5MORoUOkQ8g31aPVmBZ11jyApI5", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "allowed_origins": [], + "client_id": "88gPebiknBTdBHOAYrSdF2WWRyuroAax", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "regular_web", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "web_origins": [], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "The Default App", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -83,8 +248,10 @@ "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -92,7 +259,7 @@ "subject": "deprecated" } ], - "client_id": "Lt6GqstC0ERmNFSyWMCWy6pZYFHUgAdl", + "client_id": "7vlUKQihTlaGoILrgQ51JW4xMbU1XhI0", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -100,6 +267,8 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", @@ -107,138 +276,218 @@ "client_credentials" ], "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/clients", - "body": { - "name": "Auth0 CLI - dev", - "allowed_clients": [], - "app_type": "non_interactive", - "callbacks": [], - "client_aliases": [], - "cross_origin_auth": false, - "custom_login_page_on": true, - "grant_types": [ - "client_credentials" - ], - "is_first_party": true, - "is_token_endpoint_ip_header_trusted": false, - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "logo_uri": "https://dev.assets.com/photos/foo", - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post" - }, - "status": 201, - "response": { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Auth0 CLI - dev", - "allowed_clients": [], - "callbacks": [], - "cross_origin_auth": false, - "is_first_party": true, - "logo_uri": "https://dev.assets.com/photos/foo", - "native_social_login": { - "apple": { - "enabled": false }, - "facebook": { - "enabled": false - } - }, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "oidc_conformant": false, - "encrypted": true, - "signing_keys": [ { - "cert": "[REDACTED]", - "key": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" - } - ], - "client_id": "y9oVy76WWPiq8gNm9dhZCsv3kSeDgljh", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/email-templates/welcome_email", - "body": { - "template": "welcome_email", - "body": "\n \n

Welcome to This tenant name should be preserved!

\n \n\n", - "enabled": false, - "from": "", - "resultUrl": "https://travel0.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600 - }, - "status": 200, - "response": { - "template": "welcome_email", - "body": "\n \n

Welcome to This tenant name should be preserved!

\n \n\n", - "from": "", - "resultUrl": "https://travel0.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Terraform Provider", + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "R9N1M3jJcxlEKpIcm4EX8glA7Krb9h1k", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], + "client_metadata": {}, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "9ztJ1ZaM0iTa9eR2Ga08KOrwBNqNuRmr", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "none", + "app_type": "spa", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "8DngHjTrjB57cRXo74zYn4qohnAxjFsG", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Auth0 CLI - dev", + "allowed_clients": [], + "callbacks": [], + "is_first_party": true, + "logo_uri": "https://dev.assets.com/photos/foo", + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "oidc_conformant": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "f0itxCUp80tHKrEP3sa5C1hkeuLu6EjC", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -246,37 +495,164 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/tenants/settings", + "path": "/api/v2/clients/f0itxCUp80tHKrEP3sa5C1hkeuLu6EjC", "body": { - "allowed_logout_urls": [ - "https://travel0.com/logoutCallback" - ], - "enabled_locales": [ - "en", - "es" + "name": "Auth0 CLI - dev", + "allowed_clients": [], + "app_type": "non_interactive", + "callbacks": [], + "client_aliases": [], + "custom_login_page_on": true, + "grant_types": [ + "client_credentials" ], - "flags": { - "allow_legacy_delegation_grant_types": true, - "allow_legacy_ro_grant_types": true, - "change_pwd_flow_v1": false, - "enable_apis_section": false, - "enable_client_connections": false, - "enable_custom_domain_in_emails": false, - "enable_dynamic_client_registration": false, - "enable_public_signup_user_exists_error": true, - "revoke_refresh_token_grant": false, - "disable_clickjack_protection_headers": false, - "enable_pipeline2": false + "is_first_party": true, + "is_token_endpoint_ip_header_trusted": false, + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000 }, - "friendly_name": "This tenant name should be preserved", - "picture_url": "https://unsplash.com/photos/8v1T2SCM6Ek", - "sandbox_version": "12", - "session_cookie": { - "mode": "non-persistent" + "logo_uri": "https://dev.assets.com/photos/foo", + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } }, - "support_email": "support@travel0.com", - "support_url": "https://travel0.com/support", - "universal_login": { + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "token_endpoint_auth_method": "client_secret_post", + "cross_origin_authentication": false + }, + "status": 200, + "response": { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Auth0 CLI - dev", + "allowed_clients": [], + "callbacks": [], + "is_first_party": true, + "logo_uri": "https://dev.assets.com/photos/foo", + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "oidc_conformant": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" + } + ], + "client_id": "f0itxCUp80tHKrEP3sa5C1hkeuLu6EjC", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/email-templates/welcome_email", + "body": { + "template": "welcome_email", + "body": "\n \n

Welcome to This tenant name should be preserved!

\n \n\n", + "enabled": false, + "from": "", + "resultUrl": "https://travel0.com/welcome", + "subject": "Welcome", + "syntax": "liquid", + "urlLifetimeInSeconds": 3600 + }, + "status": 200, + "response": { + "template": "welcome_email", + "body": "\n \n

Welcome to This tenant name should be preserved!

\n \n\n", + "from": "", + "resultUrl": "https://travel0.com/welcome", + "subject": "Welcome", + "syntax": "liquid", + "urlLifetimeInSeconds": 3600, + "enabled": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/tenants/settings", + "body": { + "allowed_logout_urls": [ + "https://travel0.com/logoutCallback" + ], + "enabled_locales": [ + "en", + "es" + ], + "flags": { + "allow_legacy_delegation_grant_types": true, + "allow_legacy_ro_grant_types": true, + "change_pwd_flow_v1": false, + "enable_apis_section": false, + "enable_client_connections": false, + "enable_custom_domain_in_emails": false, + "enable_dynamic_client_registration": false, + "enable_public_signup_user_exists_error": true, + "revoke_refresh_token_grant": false, + "disable_clickjack_protection_headers": false, + "enable_pipeline2": false + }, + "friendly_name": "This tenant name should be preserved", + "picture_url": "https://unsplash.com/photos/8v1T2SCM6Ek", + "sandbox_version": "12", + "session_cookie": { + "mode": "non-persistent" + }, + "support_email": "support@travel0.com", + "support_url": "https://travel0.com/support", + "universal_login": { "colors": { "primary": "#F8F8F2", "page_background": "#222221" @@ -343,6 +719,7 @@ }, "identifier_first": true }, + "resource_parameter_profile": "audience", "session_cookie": { "mode": "non-persistent" } @@ -357,7 +734,7 @@ "body": "", "status": 200, "response": { - "total": 3, + "total": 9, "start": 0, "limit": 100, "clients": [ @@ -365,23 +742,324 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", - "is_first_party": true, - "oidc_conformant": true, - "sso_disabled": false, - "cross_origin_auth": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "cross_origin_authentication": true, + "name": "Deploy CLI", + "is_first_party": true, + "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "cross_origin_authentication": true, + "allowed_clients": [], + "callbacks": [], + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials", + "implicit", + "authorization_code", + "refresh_token" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "vVbUuOLzLQ9k7iwdZoLRtQuhG8XHUkSY", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "O0AMH5MORoUOkQ8g31aPVmBZ11jyApI5", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "allowed_origins": [], + "client_id": "88gPebiknBTdBHOAYrSdF2WWRyuroAax", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "regular_web", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "web_origins": [], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "The Default App", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso": false, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "7vlUKQihTlaGoILrgQ51JW4xMbU1XhI0", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Terraform Provider", + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "R9N1M3jJcxlEKpIcm4EX8glA7Krb9h1k", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], + "client_metadata": {}, + "is_first_party": true, "native_social_login": { "apple": { "enabled": false @@ -390,6 +1068,19 @@ "enabled": false } }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -397,7 +1088,7 @@ "subject": "deprecated" } ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "client_id": "9ztJ1ZaM0iTa9eR2Ga08KOrwBNqNuRmr", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -406,36 +1097,48 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ - "client_credentials", - "implicit", "authorization_code", + "implicit", "refresh_token" ], + "web_origins": [ + "http://localhost:3000" + ], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], "callbacks": [], - "cross_origin_auth": false, + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -443,7 +1146,7 @@ "subject": "deprecated" } ], - "client_id": "Lt6GqstC0ERmNFSyWMCWy6pZYFHUgAdl", + "client_id": "8DngHjTrjB57cRXo74zYn4qohnAxjFsG", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -451,10 +1154,10 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -466,7 +1169,6 @@ "name": "Auth0 CLI - dev", "allowed_clients": [], "callbacks": [], - "cross_origin_auth": false, "is_first_party": true, "logo_uri": "https://dev.assets.com/photos/foo", "native_social_login": { @@ -488,6 +1190,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "oidc_conformant": false, "signing_keys": [ { @@ -496,7 +1199,7 @@ "subject": "deprecated" } ], - "client_id": "y9oVy76WWPiq8gNm9dhZCsv3kSeDgljh", + "client_id": "f0itxCUp80tHKrEP3sa5C1hkeuLu6EjC", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -577,6 +1280,7 @@ "page_background": "#222221" } }, + "resource_parameter_profile": "audience", "session_cookie": { "mode": "non-persistent" }, @@ -610,18 +1314,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/welcome_email", + "path": "/api/v2/email-templates/mfa_oob_code", "body": "", - "status": 200, + "status": 404, "response": { - "template": "welcome_email", - "body": "\n \n

Welcome to This tenant name should be preserved!

\n \n\n", - "from": "", - "resultUrl": "https://travel0.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" }, "rawHeaders": [], "responseIsBinary": false @@ -644,7 +1344,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email_by_code", + "path": "/api/v2/email-templates/password_reset", "body": "", "status": 404, "response": { @@ -659,7 +1359,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/user_invitation", + "path": "/api/v2/email-templates/reset_email_by_code", "body": "", "status": 404, "response": { @@ -674,7 +1374,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/password_reset", + "path": "/api/v2/email-templates/user_invitation", "body": "", "status": 404, "response": { @@ -689,7 +1389,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/change_password", + "path": "/api/v2/email-templates/stolen_credentials", "body": "", "status": 404, "response": { @@ -704,7 +1404,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/async_approval", + "path": "/api/v2/email-templates/blocked_account", "body": "", "status": 404, "response": { @@ -719,7 +1419,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/blocked_account", + "path": "/api/v2/email-templates/verify_email_by_code", "body": "", "status": 404, "response": { @@ -734,7 +1434,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/mfa_oob_code", + "path": "/api/v2/email-templates/change_password", "body": "", "status": 404, "response": { @@ -749,7 +1449,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/stolen_credentials", + "path": "/api/v2/email-templates/async_approval", "body": "", "status": 404, "response": { @@ -779,14 +1479,18 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/verify_email_by_code", + "path": "/api/v2/email-templates/welcome_email", "body": "", - "status": 404, + "status": 200, "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" + "template": "welcome_email", + "body": "\n \n

Welcome to This tenant name should be preserved!

\n \n\n", + "from": "", + "resultUrl": "https://travel0.com/welcome", + "subject": "Welcome", + "syntax": "liquid", + "urlLifetimeInSeconds": 3600, + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -798,7 +1502,7 @@ "body": "", "status": 200, "response": { - "total": 3, + "total": 9, "start": 0, "limit": 100, "clients": [ @@ -806,11 +1510,173 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", + "name": "Deploy CLI", + "is_first_party": true, + "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "cross_origin_authentication": true, + "allowed_clients": [], + "callbacks": [], + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials", + "implicit", + "authorization_code", + "refresh_token" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "vVbUuOLzLQ9k7iwdZoLRtQuhG8XHUkSY", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "O0AMH5MORoUOkQ8g31aPVmBZ11jyApI5", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, - "sso_disabled": false, - "cross_origin_auth": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -820,9 +1686,46 @@ "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "cross_origin_authentication": true, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "allowed_origins": [], + "client_id": "88gPebiknBTdBHOAYrSdF2WWRyuroAax", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "regular_web", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "web_origins": [], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "The Default App", "allowed_clients": [], "callbacks": [], + "client_metadata": {}, + "is_first_party": true, "native_social_login": { "apple": { "enabled": false @@ -831,6 +1734,20 @@ "enabled": false } }, + "oidc_conformant": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso": false, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -838,7 +1755,7 @@ "subject": "deprecated" } ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "client_id": "7vlUKQihTlaGoILrgQ51JW4xMbU1XhI0", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -848,12 +1765,11 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", "grant_types": [ - "client_credentials", - "implicit", "authorization_code", - "refresh_token" + "implicit", + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -861,9 +1777,7 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", - "callbacks": [], - "cross_origin_auth": false, + "name": "Terraform Provider", "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -871,12 +1785,70 @@ "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "R9N1M3jJcxlEKpIcm4EX8glA7Krb9h1k", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], + "client_metadata": {}, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -884,7 +1856,7 @@ "subject": "deprecated" } ], - "client_id": "Lt6GqstC0ERmNFSyWMCWy6pZYFHUgAdl", + "client_id": "9ztJ1ZaM0iTa9eR2Ga08KOrwBNqNuRmr", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -892,10 +1864,68 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "8DngHjTrjB57cRXo74zYn4qohnAxjFsG", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ "client_credentials" ], "custom_login_page_on": true @@ -907,7 +1937,6 @@ "name": "Auth0 CLI - dev", "allowed_clients": [], "callbacks": [], - "cross_origin_auth": false, "is_first_party": true, "logo_uri": "https://dev.assets.com/photos/foo", "native_social_login": { @@ -929,6 +1958,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "oidc_conformant": false, "signing_keys": [ { @@ -937,7 +1967,7 @@ "subject": "deprecated" } ], - "client_id": "y9oVy76WWPiq8gNm9dhZCsv3kSeDgljh", + "client_id": "f0itxCUp80tHKrEP3sa5C1hkeuLu6EjC", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1018,6 +2048,7 @@ "page_background": "#222221" } }, + "resource_parameter_profile": "audience", "session_cookie": { "mode": "non-persistent" }, @@ -1033,18 +2064,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/welcome_email", + "path": "/api/v2/email-templates/reset_email_by_code", "body": "", - "status": 200, + "status": 404, "response": { - "template": "welcome_email", - "body": "\n \n

Welcome to This tenant name should be preserved!

\n \n\n", - "from": "", - "resultUrl": "https://travel0.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" }, "rawHeaders": [], "responseIsBinary": false @@ -1052,7 +2079,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email", + "path": "/api/v2/email-templates/user_invitation", "body": "", "status": 404, "response": { @@ -1067,14 +2094,17 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/mfa_oob_code", + "path": "/api/v2/email-templates/verify_email", "body": "", - "status": 404, + "status": 200, "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" + "template": "verify_email", + "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", + "from": "", + "subject": "", + "syntax": "liquid", + "urlLifetimeInSeconds": 432000, + "enabled": true }, "rawHeaders": [], "responseIsBinary": false @@ -1082,7 +2112,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email_by_code", + "path": "/api/v2/email-templates/change_password", "body": "", "status": 404, "response": { @@ -1097,17 +2127,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/verify_email", + "path": "/api/v2/email-templates/mfa_oob_code", "body": "", - "status": 200, + "status": 404, "response": { - "template": "verify_email", - "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", - "from": "", - "subject": "", - "syntax": "liquid", - "urlLifetimeInSeconds": 432000, - "enabled": true + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" }, "rawHeaders": [], "responseIsBinary": false @@ -1115,7 +2142,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/change_password", + "path": "/api/v2/email-templates/async_approval", "body": "", "status": 404, "response": { @@ -1130,7 +2157,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/enrollment_email", + "path": "/api/v2/email-templates/verify_email_by_code", "body": "", "status": 404, "response": { @@ -1145,7 +2172,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/stolen_credentials", + "path": "/api/v2/email-templates/password_reset", "body": "", "status": 404, "response": { @@ -1160,7 +2187,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/async_approval", + "path": "/api/v2/email-templates/blocked_account", "body": "", "status": 404, "response": { @@ -1175,14 +2202,18 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/password_reset", + "path": "/api/v2/email-templates/welcome_email", "body": "", - "status": 404, + "status": 200, "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" + "template": "welcome_email", + "body": "\n \n

Welcome to This tenant name should be preserved!

\n \n\n", + "from": "", + "resultUrl": "https://travel0.com/welcome", + "subject": "Welcome", + "syntax": "liquid", + "urlLifetimeInSeconds": 3600, + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -1190,7 +2221,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/verify_email_by_code", + "path": "/api/v2/email-templates/enrollment_email", "body": "", "status": 404, "response": { @@ -1205,7 +2236,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/user_invitation", + "path": "/api/v2/email-templates/reset_email", "body": "", "status": 404, "response": { @@ -1220,7 +2251,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/blocked_account", + "path": "/api/v2/email-templates/stolen_credentials", "body": "", "status": 404, "response": { diff --git a/test/tools/auth0/handlers/clients.tests.js b/test/tools/auth0/handlers/clients.tests.js index 7eb85c7c1..044477df1 100644 --- a/test/tools/auth0/handlers/clients.tests.js +++ b/test/tools/auth0/handlers/clients.tests.js @@ -30,8 +30,11 @@ const someNativeClient = { }, session_transfer: { can_create_session_transfer_token: true, + enforce_cascade_revocation: true, enforce_device_binding: 'ip', allowed_authentication_methods: ['cookie', 'query'], + allow_refresh_token: true, + enforce_online_refresh_tokens: true, }, }; @@ -93,6 +96,10 @@ describe('#clients handler', () => { delete: () => Promise.resolve({ data: [] }), list: (params) => mockPagedData(params, 'clients', []), }, + connectionProfiles: { list: (params) => mockPagedData(params, 'connectionProfiles', []) }, + userAttributeProfiles: { + list: (params) => mockPagedData(params, 'userAttributeProfiles', []), + }, pool, }; @@ -127,8 +134,11 @@ describe('#clients handler', () => { }); expect(data.session_transfer).to.deep.equal({ can_create_session_transfer_token: true, + enforce_cascade_revocation: true, enforce_device_binding: 'ip', allowed_authentication_methods: ['cookie', 'query'], + allow_refresh_token: true, + enforce_online_refresh_tokens: true, }); return Promise.resolve({ data }); }, @@ -136,6 +146,10 @@ describe('#clients handler', () => { delete: () => Promise.resolve({ data: [] }), list: (params) => mockPagedData(params, 'clients', []), }, + connectionProfiles: { list: (params) => mockPagedData(params, 'connectionProfiles', []) }, + userAttributeProfiles: { + list: (params) => mockPagedData(params, 'userAttributeProfiles', []), + }, pool, }; @@ -186,6 +200,10 @@ describe('#clients handler', () => { delete: () => Promise.resolve({ data: [] }), list: (params) => mockPagedData(params, 'clients', []), }, + connectionProfiles: { list: (params) => mockPagedData(params, 'connectionProfiles', []) }, + userAttributeProfiles: { + list: (params) => mockPagedData(params, 'userAttributeProfiles', []), + }, pool, }; @@ -226,6 +244,10 @@ describe('#clients handler', () => { delete: () => Promise.resolve({ data: [] }), list: (params) => mockPagedData(params, 'clients', []), }, + connectionProfiles: { list: (params) => mockPagedData(params, 'connectionProfiles', []) }, + userAttributeProfiles: { + list: (params) => mockPagedData(params, 'userAttributeProfiles', []), + }, pool, }; const handler = new clients.default({ client: pageClient(auth0), config }); @@ -258,6 +280,10 @@ describe('#clients handler', () => { delete: () => Promise.resolve({ data: [] }), list: (params) => mockPagedData(params, 'clients', []), }, + connectionProfiles: { list: (params) => mockPagedData(params, 'connectionProfiles', []) }, + userAttributeProfiles: { + list: (params) => mockPagedData(params, 'userAttributeProfiles', []), + }, pool, }; const handler = new clients.default({ client: pageClient(auth0), config }); @@ -266,6 +292,57 @@ describe('#clients handler', () => { expect(wasCreateCalled).to.be.equal(true); }); + it('should create client with express_configuration and map names to IDs', async () => { + let wasCreateCalled = false; + const clientWithExpressConfig = { + name: 'Client With Express Config', + app_type: 'regular_web', + express_configuration: { + user_attribute_profile_id: 'My User Attribute Profile', + connection_profile_id: 'My Connection Profile', + okta_oin_client_id: 'My OIN Client', + }, + }; + + const auth0 = { + clients: { + create: function (data) { + wasCreateCalled = true; + expect(data).to.be.an('object'); + expect(data.name).to.equal('Client With Express Config'); + expect(data.express_configuration).to.deep.equal({ + user_attribute_profile_id: 'uap_123', + connection_profile_id: 'cp_123', + okta_oin_client_id: 'client_123', + }); + return Promise.resolve({ data }); + }, + update: () => Promise.resolve({ data: [] }), + delete: () => Promise.resolve({ data: [] }), + list: (params) => + mockPagedData(params, 'clients', [{ client_id: 'client_123', name: 'My OIN Client' }]), + }, + connectionProfiles: { + list: (params) => + mockPagedData(params, 'connectionProfiles', [ + { id: 'cp_123', name: 'My Connection Profile' }, + ]), + }, + userAttributeProfiles: { + list: (params) => + mockPagedData(params, 'userAttributeProfiles', [ + { id: 'uap_123', name: 'My User Attribute Profile' }, + ]), + }, + pool, + }; + + const handler = new clients.default({ client: pageClient(auth0), config }); + const stageFn = Object.getPrototypeOf(handler).processChanges; + await stageFn.apply(handler, [{ clients: [clientWithExpressConfig] }]); + expect(wasCreateCalled).to.be.equal(true); + }); + it('should create client with skip_non_verifiable_callback_uri_confirmation_prompt', async () => { let wasCreateCalled = false; const clientWithSkipConfirmation = { @@ -287,6 +364,10 @@ describe('#clients handler', () => { delete: () => Promise.resolve({ data: [] }), list: (params) => mockPagedData(params, 'clients', []), }, + connectionProfiles: { list: (params) => mockPagedData(params, 'connectionProfiles', []) }, + userAttributeProfiles: { + list: (params) => mockPagedData(params, 'userAttributeProfiles', []), + }, pool, }; const handler = new clients.default({ client: pageClient(auth0), config }); @@ -295,24 +376,173 @@ describe('#clients handler', () => { expect(wasCreateCalled).to.be.equal(true); }); - it('should get clients', async () => { + it('should ignore third-party clients if AUTH0_EXCLUDE_THIRD_PARTY_CLIENTS is true', async () => { + let wasCreateCalled = false; + const thirdPartyClient = { + name: 'Third-Party Client', + is_first_party: false, + }; + + const auth0 = { + clients: { + create: function (data) { + (() => expect(this).to.not.be.undefined)(); + wasCreateCalled = true; + expect(data).to.be.an('object'); + expect(data.name).to.equal('Third-Party Client'); + expect(data.is_first_party).to.equal(false); + return Promise.resolve({ data }); + }, + update: () => Promise.resolve({ data: [] }), + delete: () => Promise.resolve({ data: [] }), + list: (params) => mockPagedData(params, 'clients', []), + }, + connectionProfiles: { list: (params) => mockPagedData(params, 'connectionProfiles', []) }, + userAttributeProfiles: { + list: (params) => mockPagedData(params, 'userAttributeProfiles', []), + }, + pool, + }; + + const testConfig = function (key) { + return testConfig.data && testConfig.data[key]; + }; + testConfig.data = { + AUTH0_CLIENT_ID: 'client_id', + AUTH0_ALLOW_DELETE: true, + AUTH0_EXCLUDE_THIRD_PARTY_CLIENTS: true, + }; + + const handler = new clients.default({ + client: pageClient(auth0), + config: testConfig, + }); + const stageFn = Object.getPrototypeOf(handler).processChanges; + await stageFn.apply(handler, [{ clients: [thirdPartyClient] }]); + expect(wasCreateCalled).to.be.equal(false); + }); + + it('should include third-party clients if AUTH0_EXCLUDE_THIRD_PARTY_CLIENTS is false', async () => { + let wasCreateCalled = false; + const thirdPartyClient = { + name: 'Third-Party Client', + is_first_party: false, + }; + + const auth0 = { + clients: { + create: function (data) { + (() => expect(this).to.not.be.undefined)(); + wasCreateCalled = true; + return Promise.resolve({ data }); + }, + update: () => Promise.resolve({ data: [] }), + delete: () => Promise.resolve({ data: [] }), + list: (params) => mockPagedData(params, 'clients', []), + }, + pool, + }; + + const testConfig = function (key) { + return testConfig.data && testConfig.data[key]; + }; + testConfig.data = { + AUTH0_CLIENT_ID: 'client_id', + AUTH0_ALLOW_DELETE: true, + AUTH0_EXCLUDE_THIRD_PARTY_CLIENTS: false, + }; + + const handler = new clients.default({ + client: pageClient(auth0), + config: testConfig, + }); + const stageFn = Object.getPrototypeOf(handler).processChanges; + await stageFn.apply(handler, [{ clients: [thirdPartyClient] }]); + expect(wasCreateCalled).to.be.equal(true); + }); + + it('should get clients with is_first_party when AUTH0_EXCLUDE_THIRD_PARTY_CLIENTS is enabled', async () => { + const listParams = []; + const auth0 = { + clients: { + list: (params) => { + listParams.push(params); + return mockPagedData(params, 'clients', [ + { name: 'first party client', client_id: 'first-party-client-id' }, + ]); + }, + }, + pool, + }; + + const testConfig = function (key) { + return testConfig.data && testConfig.data[key]; + }; + testConfig.data = { + AUTH0_CLIENT_ID: 'client_id', + AUTH0_ALLOW_DELETE: true, + AUTH0_EXCLUDE_THIRD_PARTY_CLIENTS: true, + }; + + const handler = new clients.default({ client: pageClient(auth0), config: testConfig }); + await handler.getType(); + + expect(listParams.length).to.be.greaterThan(0); + const firstCallParams = listParams[0]; + expect(firstCallParams).to.be.an('object'); + expect(firstCallParams.is_first_party).to.equal(true); + expect(firstCallParams.is_global).to.equal(false); + }); + + it('should migrate deprecated cross_origin_auth to cross_origin_authentication on export', async () => { const auth0 = { clients: { list: (params) => mockPagedData(params, 'clients', [ - { name: 'test client', client_id: 'FMfcgxvzLDvPsgpRFKkLVrnKqGgkHhQV' }, - { name: 'deploy client', client_id: 'client_id' }, + { + client_id: 'client1', + name: 'deprecatedOnlyClient', + app_type: 'spa', + cross_origin_auth: true, + }, + { + client_id: 'client2', + name: 'bothFieldsClient', + app_type: 'spa', + cross_origin_auth: false, + cross_origin_authentication: true, + }, + { + client_id: 'client3', + name: 'newOnlyClient', + app_type: 'spa', + cross_origin_authentication: false, + }, ]), }, + connectionProfiles: { list: (params) => mockPagedData(params, 'connectionProfiles', []) }, + userAttributeProfiles: { + list: (params) => mockPagedData(params, 'userAttributeProfiles', []), + }, pool, }; const handler = new clients.default({ client: pageClient(auth0), config }); const data = await handler.getType(); - expect(data).to.deep.equal([ - { client_id: 'FMfcgxvzLDvPsgpRFKkLVrnKqGgkHhQV', name: 'test client' }, - { client_id: 'client_id', name: 'deploy client' }, - ]); + + expect(data).to.have.lengthOf(3); + + const deprecatedOnlyClient = data.find((c) => c.name === 'deprecatedOnlyClient'); + expect(deprecatedOnlyClient).to.not.have.property('cross_origin_auth'); + expect(deprecatedOnlyClient.cross_origin_authentication).to.equal(true); + + const bothFieldsClient = data.find((c) => c.name === 'bothFieldsClient'); + expect(bothFieldsClient).to.not.have.property('cross_origin_auth'); + expect(bothFieldsClient.cross_origin_authentication).to.equal(true); + + const newOnlyClient = data.find((c) => c.name === 'newOnlyClient'); + expect(newOnlyClient).to.not.have.property('cross_origin_auth'); + expect(newOnlyClient.cross_origin_authentication).to.equal(false); }); it('should update client', async () => { @@ -332,8 +562,11 @@ describe('#clients handler', () => { expect(data.description).to.equal('new description'); expect(data.session_transfer).to.deep.equal({ can_create_session_transfer_token: false, + enforce_cascade_revocation: false, enforce_device_binding: 'asn', allowed_authentication_methods: ['query'], + allow_refresh_token: false, + enforce_online_refresh_tokens: false, }); return Promise.resolve({ data }); @@ -347,6 +580,10 @@ describe('#clients handler', () => { }, ]), }, + connectionProfiles: { list: (params) => mockPagedData(params, 'connectionProfiles', []) }, + userAttributeProfiles: { + list: (params) => mockPagedData(params, 'userAttributeProfiles', []), + }, pool, }; @@ -361,8 +598,11 @@ describe('#clients handler', () => { description: 'new description', session_transfer: { can_create_session_transfer_token: false, + enforce_cascade_revocation: false, enforce_device_binding: 'asn', allowed_authentication_methods: ['query'], + allow_refresh_token: false, + enforce_online_refresh_tokens: false, }, }, ], @@ -397,6 +637,10 @@ describe('#clients handler', () => { }, ]), }, + connectionProfiles: { list: (params) => mockPagedData(params, 'connectionProfiles', []) }, + userAttributeProfiles: { + list: (params) => mockPagedData(params, 'userAttributeProfiles', []), + }, pool, }; @@ -437,6 +681,10 @@ describe('#clients handler', () => { { client_id: 'client_id', name: 'deploy client' }, ]), }, + connectionProfiles: { list: (params) => mockPagedData(params, 'connectionProfiles', []) }, + userAttributeProfiles: { + list: (params) => mockPagedData(params, 'userAttributeProfiles', []), + }, pool, }; @@ -465,6 +713,10 @@ describe('#clients handler', () => { { client_id: 'client_id', name: 'deploy client' }, ]), }, + connectionProfiles: { list: (params) => mockPagedData(params, 'connectionProfiles', []) }, + userAttributeProfiles: { + list: (params) => mockPagedData(params, 'userAttributeProfiles', []), + }, pool, }; @@ -489,6 +741,10 @@ describe('#clients handler', () => { list: (params) => mockPagedData(params, 'clients', [{ client_id: 'client1', name: 'existingClient' }]), }, + connectionProfiles: { list: (params) => mockPagedData(params, 'connectionProfiles', []) }, + userAttributeProfiles: { + list: (params) => mockPagedData(params, 'userAttributeProfiles', []), + }, pool, }; @@ -517,6 +773,10 @@ describe('#clients handler', () => { }, list: (params) => Promise.resolve(mockPagedData(params, 'clients', [])), }, + connectionProfiles: { list: (params) => mockPagedData(params, 'connectionProfiles', []) }, + userAttributeProfiles: { + list: (params) => mockPagedData(params, 'userAttributeProfiles', []), + }, pool, }; @@ -553,6 +813,10 @@ describe('#clients handler', () => { { client_id: 'client2', name: 'existingClient2' }, ]), }, + connectionProfiles: { list: (params) => mockPagedData(params, 'connectionProfiles', []) }, + userAttributeProfiles: { + list: (params) => mockPagedData(params, 'userAttributeProfiles', []), + }, pool, }; @@ -602,6 +866,10 @@ describe('#clients handler', () => { }, ]), }, + connectionProfiles: { list: (params) => mockPagedData(params, 'connectionProfiles', []) }, + userAttributeProfiles: { + list: (params) => mockPagedData(params, 'userAttributeProfiles', []), + }, pool, }; @@ -657,6 +925,10 @@ describe('#clients handler', () => { delete: () => Promise.resolve({ data: [] }), list: (params) => mockPagedData(params, 'clients', []), }, + connectionProfiles: { list: (params) => mockPagedData(params, 'connectionProfiles', []) }, + userAttributeProfiles: { + list: (params) => mockPagedData(params, 'userAttributeProfiles', []), + }, pool, }; @@ -693,6 +965,10 @@ describe('#clients handler', () => { delete: () => Promise.resolve({ data: [] }), list: (params) => mockPagedData(params, 'clients', []), }, + connectionProfiles: { list: (params) => mockPagedData(params, 'connectionProfiles', []) }, + userAttributeProfiles: { + list: (params) => mockPagedData(params, 'userAttributeProfiles', []), + }, pool, }; @@ -726,6 +1002,10 @@ describe('#clients handler', () => { }, ]), }, + connectionProfiles: { list: (params) => mockPagedData(params, 'connectionProfiles', []) }, + userAttributeProfiles: { + list: (params) => mockPagedData(params, 'userAttributeProfiles', []), + }, pool, }; @@ -771,6 +1051,10 @@ describe('#clients handler', () => { }, ]), }, + connectionProfiles: { list: (params) => mockPagedData(params, 'connectionProfiles', []) }, + userAttributeProfiles: { + list: (params) => mockPagedData(params, 'userAttributeProfiles', []), + }, pool, }; @@ -790,5 +1074,130 @@ describe('#clients handler', () => { }, ]); }); + + it('should migrate deprecated cross_origin_auth to cross_origin_authentication on create', async () => { + const createdClients = []; + const auth0 = { + clients: { + create: function (data) { + createdClients.push(data); + return Promise.resolve({ data }); + }, + update: () => Promise.resolve({ data: [] }), + delete: () => Promise.resolve({ data: [] }), + list: (params) => mockPagedData(params, 'clients', []), + }, + connectionProfiles: { list: (params) => mockPagedData(params, 'connectionProfiles', []) }, + userAttributeProfiles: { + list: (params) => mockPagedData(params, 'userAttributeProfiles', []), + }, + pool, + }; + + const handler = new clients.default({ client: pageClient(auth0), config }); + const stageFn = Object.getPrototypeOf(handler).processChanges; + + await stageFn.apply(handler, [ + { + clients: [ + { + name: 'deprecatedOnlyClient', + app_type: 'spa', + cross_origin_auth: true, + }, + { + name: 'bothFieldsClient', + app_type: 'spa', + cross_origin_auth: false, + cross_origin_authentication: true, + }, + { + name: 'newOnlyClient', + app_type: 'spa', + cross_origin_authentication: false, + }, + ], + }, + ]); + + expect(createdClients).to.have.lengthOf(3); + + const deprecatedOnlyClient = createdClients.find((c) => c.name === 'deprecatedOnlyClient'); + expect(deprecatedOnlyClient).to.not.have.property('cross_origin_auth'); + expect(deprecatedOnlyClient.cross_origin_authentication).to.equal(true); + + const bothFieldsClient = createdClients.find((c) => c.name === 'bothFieldsClient'); + expect(bothFieldsClient).to.not.have.property('cross_origin_auth'); + expect(bothFieldsClient.cross_origin_authentication).to.equal(true); + + const newOnlyClient = createdClients.find((c) => c.name === 'newOnlyClient'); + expect(newOnlyClient).to.not.have.property('cross_origin_auth'); + expect(newOnlyClient.cross_origin_authentication).to.equal(false); + }); + + it('should migrate deprecated cross_origin_auth to cross_origin_authentication on update', async () => { + const updatedClients = []; + const auth0 = { + clients: { + create: () => Promise.resolve({ data: [] }), + update: function (clientId, data) { + updatedClients.push({ ...data, client_id: clientId }); + return Promise.resolve({ data }); + }, + delete: () => Promise.resolve({ data: [] }), + list: (params) => + mockPagedData(params, 'clients', [ + { client_id: 'client1', name: 'deprecatedOnlyClient' }, + { client_id: 'client2', name: 'bothFieldsClient' }, + { client_id: 'client3', name: 'newOnlyClient' }, + ]), + }, + connectionProfiles: { list: (params) => mockPagedData(params, 'connectionProfiles', []) }, + userAttributeProfiles: { + list: (params) => mockPagedData(params, 'userAttributeProfiles', []), + }, + pool, + }; + + const handler = new clients.default({ client: pageClient(auth0), config }); + const stageFn = Object.getPrototypeOf(handler).processChanges; + + await stageFn.apply(handler, [ + { + clients: [ + { + name: 'deprecatedOnlyClient', + app_type: 'spa', + cross_origin_auth: true, + }, + { + name: 'bothFieldsClient', + app_type: 'spa', + cross_origin_auth: false, + cross_origin_authentication: true, + }, + { + name: 'newOnlyClient', + app_type: 'spa', + cross_origin_authentication: false, + }, + ], + }, + ]); + + expect(updatedClients).to.have.lengthOf(3); + + const deprecatedOnlyClient = updatedClients.find((c) => c.client_id === 'client1'); + expect(deprecatedOnlyClient).to.not.have.property('cross_origin_auth'); + expect(deprecatedOnlyClient.cross_origin_authentication).to.equal(true); + + const bothFieldsClient = updatedClients.find((c) => c.client_id === 'client2'); + expect(bothFieldsClient).to.not.have.property('cross_origin_auth'); + expect(bothFieldsClient.cross_origin_authentication).to.equal(true); + + const newOnlyClient = updatedClients.find((c) => c.client_id === 'client3'); + expect(newOnlyClient).to.not.have.property('cross_origin_auth'); + expect(newOnlyClient.cross_origin_authentication).to.equal(false); + }); }); }); diff --git a/test/tools/auth0/handlers/connectionProfiles.tests.js b/test/tools/auth0/handlers/connectionProfiles.tests.js new file mode 100644 index 000000000..96ea52908 --- /dev/null +++ b/test/tools/auth0/handlers/connectionProfiles.tests.js @@ -0,0 +1,133 @@ +const { expect } = require('chai'); +const connectionProfiles = require('../../../../src/tools/auth0/handlers/connectionProfiles'); +const { mockPagedData } = require('../../../utils'); +const pageClient = require('../../../../src/tools/auth0/client').default; + +const pool = { + addEachTask: (data) => { + if (data.data && data.data.length) { + data.generator(data.data[0]); + } + return { promise: () => null }; + }, +}; + +describe('#connectionProfiles handler', () => { + const config = function (key) { + return config.data && config.data[key]; + }; + + config.data = { + AUTH0_ALLOW_DELETE: true, + }; + + describe('#connectionProfiles validate', () => { + it('should not allow same names', async () => { + const handler = new connectionProfiles.default({ client: {}, config }); + const stageFn = Object.getPrototypeOf(handler).validate; + const data = [ + { + name: 'someProfile', + }, + { + name: 'someProfile', + }, + ]; + + try { + await stageFn.apply(handler, [{ connectionProfiles: data }]); + } catch (err) { + expect(err).to.be.an('object'); + expect(err.message).to.include('Names must be unique'); + } + }); + + it('should pass validation', async () => { + const handler = new connectionProfiles.default({ client: {}, config }); + const stageFn = Object.getPrototypeOf(handler).validate; + const data = [ + { + name: 'someProfile', + }, + ]; + + await stageFn.apply(handler, [{ connectionProfiles: data }]); + }); + }); + + describe('#connectionProfiles process', () => { + it('should create connectionProfile', async () => { + const auth0 = { + connectionProfiles: { + create: function (data) { + (() => expect(this).to.not.be.undefined)(); + expect(data).to.be.an('object'); + expect(data.name).to.equal('someProfile'); + return Promise.resolve({ data }); + }, + update: () => Promise.resolve({ data: [] }), + delete: () => Promise.resolve({ data: [] }), + list: (params) => mockPagedData(params, 'connectionProfiles', []), + }, + pool, + }; + + const handler = new connectionProfiles.default({ client: pageClient(auth0), config }); + const stageFn = Object.getPrototypeOf(handler).processChanges; + + await stageFn.apply(handler, [{ connectionProfiles: [{ name: 'someProfile' }] }]); + }); + + it('should update connectionProfile', async () => { + const auth0 = { + connectionProfiles: { + create: () => Promise.resolve({ data: [] }), + update: function (id, data) { + (() => expect(this).to.not.be.undefined)(); + expect(id).to.be.a('string'); + expect(id).to.equal('cp_123'); + expect(data).to.be.an('object'); + expect(data.enabled_features).to.deep.equal(['scim']); + return Promise.resolve({ data }); + }, + delete: () => Promise.resolve({ data: [] }), + list: (params) => + mockPagedData(params, 'connectionProfiles', [ + { id: 'cp_123', name: 'someProfile', enabled_features: [] }, + ]), + }, + pool, + }; + + const handler = new connectionProfiles.default({ client: pageClient(auth0), config }); + const stageFn = Object.getPrototypeOf(handler).processChanges; + + await stageFn.apply(handler, [ + { connectionProfiles: [{ name: 'someProfile', enabled_features: ['scim'] }] }, + ]); + }); + + it('should delete connectionProfile', async () => { + const auth0 = { + connectionProfiles: { + create: () => Promise.resolve({ data: [] }), + update: () => Promise.resolve({ data: [] }), + delete: function (id) { + (() => expect(this).to.not.be.undefined)(); + expect(id).to.be.a('string'); + expect(id).to.equal('cp_123'); + return Promise.resolve({ data: [] }); + }, + list: (params) => + mockPagedData(params, 'connectionProfiles', [{ id: 'cp_123', name: 'someProfile' }]), + }, + pool, + }; + + const handler = new connectionProfiles.default({ client: pageClient(auth0), config }); + const stageFn = Object.getPrototypeOf(handler).processChanges; + + await stageFn.apply(handler, [{ connectionProfiles: [] }]); + }); + }); +}); diff --git a/test/tools/auth0/handlers/databases.tests.js b/test/tools/auth0/handlers/databases.tests.js index 4bfa45514..cc0e5bffb 100644 --- a/test/tools/auth0/handlers/databases.tests.js +++ b/test/tools/auth0/handlers/databases.tests.js @@ -873,7 +873,6 @@ describe('#databases handler', () => { const updateStub = sinon.stub().resolves({ id: 'con1', }); - const logWarnSpy = sinon.spy(console, 'warn'); const deleteStub = sinon.stub().resolves([]); const getAllStub = sinon.stub().resolves([ { @@ -914,9 +913,6 @@ describe('#databases handler', () => { const validation = payload?.options?.validation; if (attributes && (requiresUsername || validation)) { - console.warn( - 'Warning: "attributes" cannot be used with "requires_username" or "validation". Please remove one of the conflicting options.' - ); throw new Error('Cannot set both attributes and requires_username or validation'); } @@ -996,19 +992,8 @@ describe('#databases handler', () => { ); } - // eslint-disable-next-line no-unused-expressions - expect(logWarnSpy.calledOnce).to.be.true; - // eslint-disable-next-line no-unused-expressions - expect( - logWarnSpy.calledWith( - 'Warning: "attributes" cannot be used with "requires_username" or "validation". Please remove one of the conflicting options.' - ) - ).to.be.true; - sinon.assert.calledOnce(getStub); sinon.assert.notCalled(updateStub); - - logWarnSpy.restore(); }); it('should update database with attributes and remove validation from the update request if validation is in the get response but attributes are in the update request', async () => { @@ -1066,20 +1051,15 @@ describe('#databases handler', () => { const requiresUsername = payload?.options?.requires_username; const validation = payload?.options?.validation; if (attributes && (requiresUsername || validation)) { - console.warn( - 'Warning: "attributes" cannot be used with "requires_username" or "validation". Please remove one of the conflicting options.' - ); throw new Error('Cannot set both attributes and requires_username or validation'); } if (attributes) { - console.info('Info: "Removed Validation from Connection Payload"'); delete connection.options.validation; delete connection.options.requires_username; } if (requiresUsername || validation) { - console.info('Info: "Removed Attributes from Connection Payload"'); delete connection.options.attributes; } @@ -1253,20 +1233,15 @@ describe('#databases handler', () => { const validation = payload?.options?.validation; if (attributes && (requiresUsername || validation)) { - console.warn( - 'Warning: "attributes" cannot be used with "requires_username" or "validation". Please remove one of the conflicting options.' - ); throw new Error('Cannot set both attributes and requires_username or validation'); } if (attributes) { - console.info('Info: "Removed Validation from Connection Payload"'); delete connection.options.validation; delete connection.options.requires_username; } if (requiresUsername || validation) { - console.info('Info: "Removed Attributes from Connection Payload"'); delete connection.options.attributes; } @@ -1488,7 +1463,6 @@ describe('#databases handler', () => { const updateStub = sinon.stub().resolves({ id: 'con1', }); - const logWarnSpy = sinon.spy(console, 'warn'); const deleteStub = sinon.stub().resolves([]); const getAllStub = sinon.stub().resolves([ { @@ -1529,9 +1503,6 @@ describe('#databases handler', () => { const validation = payload?.options?.validation; if (attributes && (requiresUsername || validation)) { - console.warn( - 'Warning: "attributes" cannot be used with "requires_username" or "validation". Please remove one of the conflicting options.' - ); throw new Error('Cannot set both attributes and requires_username or validation'); } @@ -1612,19 +1583,8 @@ describe('#databases handler', () => { ); } - // eslint-disable-next-line no-unused-expressions - expect(logWarnSpy.calledOnce).to.be.true; - // eslint-disable-next-line no-unused-expressions - expect( - logWarnSpy.calledWith( - 'Warning: "attributes" cannot be used with "requires_username" or "validation". Please remove one of the conflicting options.' - ) - ).to.be.true; - sinon.assert.calledOnce(getStub); sinon.assert.notCalled(updateStub); - - logWarnSpy.restore(); }); it('should update database with attributes and remove validation from the update request if validation is in the get response but attributes are in the update request', async () => { @@ -1682,20 +1642,15 @@ describe('#databases handler', () => { const requiresUsername = payload?.options?.requires_username; const validation = payload?.options?.validation; if (attributes && (requiresUsername || validation)) { - console.warn( - 'Warning: "attributes" cannot be used with "requires_username" or "validation". Please remove one of the conflicting options.' - ); throw new Error('Cannot set both attributes and requires_username or validation'); } if (attributes) { - console.info('Info: "Removed Validation from Connection Payload"'); delete connection.options.validation; delete connection.options.requires_username; } if (requiresUsername || validation) { - console.info('Info: "Removed Attributes from Connection Payload"'); delete connection.options.attributes; } @@ -1869,20 +1824,15 @@ describe('#databases handler', () => { const validation = payload?.options?.validation; if (attributes && (requiresUsername || validation)) { - console.warn( - 'Warning: "attributes" cannot be used with "requires_username" or "validation". Please remove one of the conflicting options.' - ); throw new Error('Cannot set both attributes and requires_username or validation'); } if (attributes) { - console.info('Info: "Removed Validation from Connection Payload"'); delete connection.options.validation; delete connection.options.requires_username; } if (requiresUsername || validation) { - console.info('Info: "Removed Attributes from Connection Payload"'); delete connection.options.attributes; } diff --git a/test/tools/auth0/handlers/resourceServers.tests.js b/test/tools/auth0/handlers/resourceServers.tests.js index efd1caefb..91948aa08 100644 --- a/test/tools/auth0/handlers/resourceServers.tests.js +++ b/test/tools/auth0/handlers/resourceServers.tests.js @@ -573,7 +573,7 @@ describe('#resourceServers handler', () => { expect(data.client_id).to.be.equals(undefined); expect(data.name).to.equal('someAPI'); // identifier is also stripped as it's readonly - expect(id).to.equal('rs1'); // ID should be in params + expect(id).to.equal('rs1'); return Promise.resolve(data); }, delete: () => Promise.resolve([]), @@ -621,5 +621,83 @@ describe('#resourceServers handler', () => { expect(result[0]).to.have.property('name', 'someAPI'); expect(result[0]).to.have.property('identifier', 'some-api'); }); + + it('should sanitize system resource servers in getType for Auth0 My Account API', async () => { + const systemResourceServer = { + id: 'rs_system', + identifier: 'https://api.system.com/me/', + name: 'Auth0 My Account API', + is_system: true, + token_lifetime: 86400, + scopes: [{ value: 'read:users' }], // Should be removed + signing_alg: 'RS256', // Should be removed + allow_offline_access: true, // Should be removed + skip_consent_for_verifiable_first_party_clients: true, + enforce_policies: true, // Should be removed + token_dialect: 'access_token', // Should be removed + }; + + const auth0 = { + resourceServers: { + list: (params) => mockPagedData(params, 'resource_servers', [systemResourceServer]), + }, + pool, + }; + + const handler = new resourceServers.default({ client: pageClient(auth0), config }); + const result = await handler.getType(); + + expect(result).to.be.an('array'); + expect(result[0]).to.deep.equal({ + id: 'rs_system', + identifier: 'https://api.system.com/me/', + name: 'Auth0 My Account API', + is_system: true, + token_lifetime: 86400, + skip_consent_for_verifiable_first_party_clients: true, + }); + }); + + it('should update "Auth0 My Account API" without name and is_system', async () => { + let updateCalled = false; + const existingResourceServer = { + id: 'rs_my_account', + identifier: 'https://auth0.com/my-account/me/', + name: 'Auth0 My Account API', + is_system: true, + }; + + const auth0 = { + resourceServers: { + create: () => Promise.resolve({ data: [] }), + update: function (id, data) { + updateCalled = true; + expect(id).to.equal('rs_my_account'); + expect(data.name).to.equal(undefined); + expect(data.is_system).to.equal(undefined); + expect(data.token_lifetime).to.equal(54321); + return Promise.resolve({ data }); + }, + delete: () => Promise.resolve({ data: [] }), + list: (params) => mockPagedData(params, 'resource_servers', [existingResourceServer]), + }, + pool, + }; + + const handler = new resourceServers.default({ client: pageClient(auth0), config }); + const stageFn = Object.getPrototypeOf(handler).processChanges; + const data = { + resourceServers: [ + { + name: 'Auth0 My Account API', + identifier: 'https://auth0.com/my-account/me/', + token_lifetime: 54321, + }, + ], + }; + + await stageFn.apply(handler, [data]); + expect(updateCalled).to.equal(true); + }); }); }); diff --git a/test/tools/auth0/handlers/selfServiceProfiles.tests.js b/test/tools/auth0/handlers/selfServiceProfiles.tests.js index 36cda7814..dbf4ce22b 100644 --- a/test/tools/auth0/handlers/selfServiceProfiles.tests.js +++ b/test/tools/auth0/handlers/selfServiceProfiles.tests.js @@ -132,6 +132,9 @@ describe('#selfServiceProfiles handler', () => { it('should return empty if no selfServiceProfiles asset', async () => { const auth0 = { selfServiceProfiles: {}, + userAttributeProfiles: { + getAll: (params) => mockPagedData(params, 'userAttributeProfiles', []), + }, pool, }; @@ -157,6 +160,9 @@ describe('#selfServiceProfiles handler', () => { delete: () => Promise.resolve([]), list: (params) => mockPagedData(params, 'selfServiceProfiles', []), }, + userAttributeProfiles: { + getAll: (params) => mockPagedData(params, 'userAttributeProfiles', []), + }, pool, }; @@ -193,6 +199,9 @@ describe('#selfServiceProfiles handler', () => { }, }, }, + userAttributeProfiles: { + getAll: (params) => mockPagedData(params, 'userAttributeProfiles', []), + }, pool, }; @@ -219,6 +228,9 @@ describe('#selfServiceProfiles handler', () => { }, }, }, + userAttributeProfiles: { + getAll: (params) => mockPagedData(params, 'userAttributeProfiles', []), + }, pool, }; @@ -248,6 +260,9 @@ describe('#selfServiceProfiles handler', () => { }, }, }, + userAttributeProfiles: { + getAll: (params) => mockPagedData(params, 'userAttributeProfiles', []), + }, pool, }; @@ -286,6 +301,9 @@ describe('#selfServiceProfiles handler', () => { }, }, }, + userAttributeProfiles: { + getAll: (params) => mockPagedData(params, 'userAttributeProfiles', []), + }, pool, }; @@ -344,6 +362,9 @@ describe('#selfServiceProfiles handler', () => { }, }, }, + userAttributeProfiles: { + getAll: (params) => mockPagedData(params, 'userAttributeProfiles', []), + }, pool, }; @@ -391,6 +412,9 @@ describe('#selfServiceProfiles handler', () => { }, }, }, + userAttributeProfiles: { + getAll: (params) => mockPagedData(params, 'userAttributeProfiles', []), + }, pool, }; @@ -421,6 +445,9 @@ describe('#selfServiceProfiles handler', () => { }, }, }, + userAttributeProfiles: { + getAll: (params) => mockPagedData(params, 'userAttributeProfiles', []), + }, pool, }; @@ -451,6 +478,9 @@ describe('#selfServiceProfiles handler', () => { }, }, }, + userAttributeProfiles: { + getAll: (params) => mockPagedData(params, 'userAttributeProfiles', []), + }, pool, }; diff --git a/test/tools/auth0/handlers/userAttributeProfiles.tests.js b/test/tools/auth0/handlers/userAttributeProfiles.tests.js index 8919959af..9a6e9510b 100644 --- a/test/tools/auth0/handlers/userAttributeProfiles.tests.js +++ b/test/tools/auth0/handlers/userAttributeProfiles.tests.js @@ -278,7 +278,7 @@ describe('#userAttributeProfiles handler', () => { const handler = new userAttributeProfiles.default({ client: pageClient(auth0), config }); const data = await handler.getType(); - expect(data).to.equal(null); + expect(data).to.deep.equal([]); }); }); }); diff --git a/test/tools/auth0/validator.tests.js b/test/tools/auth0/validator.tests.js index 7db0a148e..3c7ef4541 100644 --- a/test/tools/auth0/validator.tests.js +++ b/test/tools/auth0/validator.tests.js @@ -140,17 +140,6 @@ describe('#schema validation tests', () => { checkRequired('client_id', { clientGrants: data }, done); }); - it('should fail validation if no "scope" provided', (done) => { - const data = [ - { - client_id: 'client_id', - audience: 'audience', - }, - ]; - - checkRequired('scope', { clientGrants: data }, done); - }); - it('should fail validation if no "audience" provided', (done) => { const data = [ { diff --git a/test/utils.js b/test/utils.js index b240d9171..1afaa4cd3 100644 --- a/test/utils.js +++ b/test/utils.js @@ -217,6 +217,9 @@ export function mockMgmtClient() { userAttributeProfiles: { list: (params) => mockPagedData(params, 'userAttributeProfiles', []), }, + connectionProfiles: { + list: (params) => mockPagedData(params, 'connectionProfiles', []), + }, tokenExchangeProfiles: { list: (params) => mockPagedData(params, 'tokenExchangeProfiles', []), }, From 5fd5f0337a416730987b098a49dc9bb18c47b972 Mon Sep 17 00:00:00 2001 From: kushalshit27 <43465488+kushalshit27@users.noreply.github.com> Date: Tue, 16 Dec 2025 15:46:38 +0530 Subject: [PATCH 7/7] E2E updated --- ...sources-if-AUTH0_ALLOW_DELETE-is-true.json | 3862 ++++---- ...ources-if-AUTH0_ALLOW_DELETE-is-false.json | 3952 ++++---- ...ould-deploy-without-throwing-an-error.json | 4713 +++------- ...-and-deploy-without-throwing-an-error.json | 7940 +++++------------ ...should-dump-without-throwing-an-error.json | 335 +- 5 files changed, 6414 insertions(+), 14388 deletions(-) diff --git a/test/e2e/recordings/should-deploy-while-deleting-resources-if-AUTH0_ALLOW_DELETE-is-true.json b/test/e2e/recordings/should-deploy-while-deleting-resources-if-AUTH0_ALLOW_DELETE-is-true.json index c9c293762..a94fb378a 100644 --- a/test/e2e/recordings/should-deploy-while-deleting-resources-if-AUTH0_ALLOW_DELETE-is-true.json +++ b/test/e2e/recordings/should-deploy-while-deleting-resources-if-AUTH0_ALLOW_DELETE-is-true.json @@ -1303,7 +1303,7 @@ "subject": "deprecated" } ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1356,7 +1356,7 @@ "subject": "deprecated" } ], - "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", + "client_id": "0ltKN06qv5WnNoNz2Fu6QvyOl2o6K6nE", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1376,20 +1376,11 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" }, + "is_first_party": true, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -1410,8 +1401,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "client_id": "HC5UXDFP5lEc2vbTkPQWJ1yYeiLRkmDg", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1419,27 +1409,31 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -1460,7 +1454,8 @@ "subject": "deprecated" } ], - "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", + "allowed_origins": [], + "client_id": "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1468,11 +1463,16 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { @@ -1501,7 +1501,7 @@ "subject": "deprecated" } ], - "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "client_id": "GH55Wtak9aTrj6tjRFObq1cqnu5a8mtM", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1516,69 +1516,6 @@ ], "custom_login_page_on": true }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true - }, { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -1617,7 +1554,7 @@ "subject": "deprecated" } ], - "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "client_id": "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1639,9 +1576,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "is_first_party": true, "native_social_login": { @@ -1654,13 +1596,13 @@ }, "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, "sso_disabled": false, "cross_origin_authentication": false, @@ -1672,7 +1614,7 @@ "subject": "deprecated" } ], - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", + "client_id": "68Ty4a89yPogS0UGdX8aYaS6td9DXYjs", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1681,10 +1623,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ - "client_credentials" + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -1692,7 +1639,7 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], "client_metadata": {}, @@ -1705,17 +1652,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "cross_origin_auth": false, @@ -1726,7 +1672,7 @@ "subject": "deprecated" } ], - "client_id": "xYOv2UsoAuKptIEAjkeB62Oaeg1Jn2QX", + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1736,10 +1682,8 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -1752,7 +1696,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "path": "/api/v2/clients/lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "body": "", "status": 204, "response": "", @@ -1762,21 +1706,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "path": "/api/v2/clients/0ltKN06qv5WnNoNz2Fu6QvyOl2o6K6nE", "body": { - "name": "Node App", + "name": "API Explorer Application", "allowed_clients": [], - "allowed_logout_urls": [], - "allowed_origins": [], - "app_type": "regular_web", + "app_type": "non_interactive", "callbacks": [], "client_aliases": [], "client_metadata": {}, "custom_login_page_on": true, "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], "is_first_party": true, @@ -1805,7 +1744,6 @@ }, "sso_disabled": false, "token_endpoint_auth_method": "client_secret_post", - "web_origins": [], "cross_origin_authentication": false }, "status": 200, @@ -1813,9 +1751,8 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", + "name": "API Explorer Application", "allowed_clients": [], - "allowed_logout_urls": [], "callbacks": [], "client_metadata": {}, "is_first_party": true, @@ -1847,8 +1784,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "allowed_origins": [], - "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "client_id": "0ltKN06qv5WnNoNz2Fu6QvyOl2o6K6nE", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1858,14 +1794,10 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, "rawHeaders": [], @@ -1874,15 +1806,21 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", + "path": "/api/v2/clients/KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv", "body": { - "name": "Quickstarts API (Test Application)", - "app_type": "non_interactive", - "client_metadata": { - "foo": "bar" - }, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "allowed_origins": [], + "app_type": "regular_web", + "callbacks": [], + "client_aliases": [], + "client_metadata": {}, "custom_login_page_on": true, "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], "is_first_party": true, @@ -1891,6 +1829,14 @@ "alg": "RS256", "lifetime_in_seconds": 36000 }, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -1903,6 +1849,7 @@ }, "sso_disabled": false, "token_endpoint_auth_method": "client_secret_post", + "web_origins": [], "cross_origin_authentication": false }, "status": 200, @@ -1910,11 +1857,20 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -1935,7 +1891,8 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", + "allowed_origins": [], + "client_id": "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1943,11 +1900,16 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, "rawHeaders": [], @@ -1956,14 +1918,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", + "path": "/api/v2/clients/HC5UXDFP5lEc2vbTkPQWJ1yYeiLRkmDg", "body": { - "name": "API Explorer Application", - "allowed_clients": [], + "name": "Quickstarts API (Test Application)", "app_type": "non_interactive", - "callbacks": [], - "client_aliases": [], - "client_metadata": {}, + "client_metadata": { + "foo": "bar" + }, "custom_login_page_on": true, "grant_types": [ "client_credentials" @@ -1974,14 +1935,6 @@ "alg": "RS256", "lifetime_in_seconds": 36000 }, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -2001,19 +1954,11 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -2034,7 +1979,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", + "client_id": "HC5UXDFP5lEc2vbTkPQWJ1yYeiLRkmDg", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2042,7 +1987,6 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", "app_type": "non_interactive", "grant_types": [ @@ -2056,7 +2000,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "path": "/api/v2/clients/GH55Wtak9aTrj6tjRFObq1cqnu5a8mtM", "body": { "name": "Terraform Provider", "app_type": "non_interactive", @@ -2111,7 +2055,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "client_id": "GH55Wtak9aTrj6tjRFObq1cqnu5a8mtM", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2132,7 +2076,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "path": "/api/v2/clients/ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", "body": { "name": "The Default App", "allowed_clients": [], @@ -2214,7 +2158,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "client_id": "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2238,7 +2182,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", + "path": "/api/v2/clients/68Ty4a89yPogS0UGdX8aYaS6td9DXYjs", "body": { "name": "Test SPA", "allowed_clients": [], @@ -2331,7 +2275,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", + "client_id": "68Ty4a89yPogS0UGdX8aYaS6td9DXYjs", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2358,7 +2302,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", + "path": "/api/v2/clients/1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", "body": { "name": "auth0-deploy-cli-extension", "allowed_clients": [], @@ -2436,7 +2380,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2455,20 +2399,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PUT", - "path": "/api/v2/guardian/factors/otp", - "body": { - "enabled": false - }, - "status": 200, - "response": { - "enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", @@ -2486,21 +2416,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/email", - "body": { - "enabled": false - }, - "status": 200, - "response": { - "enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/otp", "body": { "enabled": false }, @@ -2514,7 +2430,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", + "path": "/api/v2/guardian/factors/email", "body": { "enabled": false }, @@ -2542,7 +2458,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/webauthn-roaming", "body": { "enabled": false }, @@ -2556,7 +2472,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", + "path": "/api/v2/guardian/factors/sms", "body": { "enabled": false }, @@ -2584,7 +2500,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/recovery-code", + "path": "/api/v2/guardian/factors/webauthn-platform", "body": { "enabled": false }, @@ -2662,7 +2578,7 @@ "response": { "actions": [ { - "id": "2b25f34b-cc41-4b78-8eb0-861be0f30f1d", + "id": "ead7d2a3-5a93-43e2-9ec3-455f3c39daf9", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -2670,34 +2586,34 @@ "version": "v1" } ], - "created_at": "2025-12-16T08:57:07.885769307Z", - "updated_at": "2025-12-16T08:58:22.911650706Z", + "created_at": "2025-12-16T10:10:30.752146844Z", + "updated_at": "2025-12-16T10:11:36.910288525Z", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], "runtime": "node22", "status": "built", "secrets": [], "current_version": { - "id": "77a70d48-694c-4055-becb-b10b99ee73f4", + "id": "83a87aec-f6f7-42bb-b6ad-6fa170f652d1", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "runtime": "node22", "status": "BUILT", "number": 2, - "build_time": "2025-12-16T08:58:23.733386236Z", - "created_at": "2025-12-16T08:58:23.642622798Z", - "updated_at": "2025-12-16T08:58:23.734859050Z" + "build_time": "2025-12-16T10:11:37.710742601Z", + "created_at": "2025-12-16T10:11:37.627490560Z", + "updated_at": "2025-12-16T10:11:37.712144713Z" }, "deployed_version": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "77a70d48-694c-4055-becb-b10b99ee73f4", + "id": "83a87aec-f6f7-42bb-b6ad-6fa170f652d1", "deployed": true, "number": 2, - "built_at": "2025-12-16T08:58:23.733386236Z", + "built_at": "2025-12-16T10:11:37.710742601Z", "secrets": [], "status": "built", - "created_at": "2025-12-16T08:58:23.642622798Z", - "updated_at": "2025-12-16T08:58:23.734859050Z", + "created_at": "2025-12-16T10:11:37.627490560Z", + "updated_at": "2025-12-16T10:11:37.712144713Z", "runtime": "node22", "supported_triggers": [ { @@ -2709,7 +2625,7 @@ "all_changes_deployed": true }, { - "id": "13228a5d-a06b-4e51-89aa-45b56efde856", + "id": "9cc78117-5697-42a8-9c1f-03bf8e5a3689", "name": "My Custom Action", "supported_triggers": [ { @@ -2717,34 +2633,34 @@ "version": "v2" } ], - "created_at": "2025-12-16T08:59:08.956810259Z", - "updated_at": "2025-12-16T08:59:08.967618945Z", + "created_at": "2025-12-16T10:12:49.378691946Z", + "updated_at": "2025-12-16T10:12:49.386633985Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "built", "secrets": [], "current_version": { - "id": "22e4811c-46a6-4d67-8fb0-ad94a4289752", + "id": "9f712c5b-390c-46d5-92f1-899d62f0e892", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node18", "status": "BUILT", "number": 1, - "build_time": "2025-12-16T08:59:09.806979854Z", - "created_at": "2025-12-16T08:59:09.734430679Z", - "updated_at": "2025-12-16T08:59:09.808139988Z" + "build_time": "2025-12-16T10:12:50.304956456Z", + "created_at": "2025-12-16T10:12:50.209634926Z", + "updated_at": "2025-12-16T10:12:50.307080188Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "22e4811c-46a6-4d67-8fb0-ad94a4289752", + "id": "9f712c5b-390c-46d5-92f1-899d62f0e892", "deployed": true, "number": 1, - "built_at": "2025-12-16T08:59:09.806979854Z", + "built_at": "2025-12-16T10:12:50.304956456Z", "secrets": [], "status": "built", - "created_at": "2025-12-16T08:59:09.734430679Z", - "updated_at": "2025-12-16T08:59:09.808139988Z", + "created_at": "2025-12-16T10:12:50.209634926Z", + "updated_at": "2025-12-16T10:12:50.307080188Z", "runtime": "node18", "supported_triggers": [ { @@ -2765,7 +2681,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/actions/actions/2b25f34b-cc41-4b78-8eb0-861be0f30f1d?force=true", + "path": "/api/v2/actions/actions/ead7d2a3-5a93-43e2-9ec3-455f3c39daf9?force=true", "body": "", "status": 204, "response": "", @@ -2775,7 +2691,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/actions/actions/13228a5d-a06b-4e51-89aa-45b56efde856", + "path": "/api/v2/actions/actions/9cc78117-5697-42a8-9c1f-03bf8e5a3689", "body": { "name": "My Custom Action", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", @@ -2791,7 +2707,7 @@ }, "status": 200, "response": { - "id": "13228a5d-a06b-4e51-89aa-45b56efde856", + "id": "9cc78117-5697-42a8-9c1f-03bf8e5a3689", "name": "My Custom Action", "supported_triggers": [ { @@ -2799,34 +2715,34 @@ "version": "v2" } ], - "created_at": "2025-12-16T08:59:08.956810259Z", - "updated_at": "2025-12-16T09:01:53.371586083Z", + "created_at": "2025-12-16T10:12:49.378691946Z", + "updated_at": "2025-12-16T10:14:50.956711889Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "pending", "secrets": [], "current_version": { - "id": "22e4811c-46a6-4d67-8fb0-ad94a4289752", + "id": "9f712c5b-390c-46d5-92f1-899d62f0e892", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node18", "status": "BUILT", "number": 1, - "build_time": "2025-12-16T08:59:09.806979854Z", - "created_at": "2025-12-16T08:59:09.734430679Z", - "updated_at": "2025-12-16T08:59:09.808139988Z" + "build_time": "2025-12-16T10:12:50.304956456Z", + "created_at": "2025-12-16T10:12:50.209634926Z", + "updated_at": "2025-12-16T10:12:50.307080188Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "22e4811c-46a6-4d67-8fb0-ad94a4289752", + "id": "9f712c5b-390c-46d5-92f1-899d62f0e892", "deployed": true, "number": 1, - "built_at": "2025-12-16T08:59:09.806979854Z", + "built_at": "2025-12-16T10:12:50.304956456Z", "secrets": [], "status": "built", - "created_at": "2025-12-16T08:59:09.734430679Z", - "updated_at": "2025-12-16T08:59:09.808139988Z", + "created_at": "2025-12-16T10:12:50.209634926Z", + "updated_at": "2025-12-16T10:12:50.307080188Z", "runtime": "node18", "supported_triggers": [ { @@ -2849,7 +2765,7 @@ "response": { "actions": [ { - "id": "13228a5d-a06b-4e51-89aa-45b56efde856", + "id": "9cc78117-5697-42a8-9c1f-03bf8e5a3689", "name": "My Custom Action", "supported_triggers": [ { @@ -2857,34 +2773,34 @@ "version": "v2" } ], - "created_at": "2025-12-16T08:59:08.956810259Z", - "updated_at": "2025-12-16T09:01:53.371586083Z", + "created_at": "2025-12-16T10:12:49.378691946Z", + "updated_at": "2025-12-16T10:14:50.956711889Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "built", "secrets": [], "current_version": { - "id": "22e4811c-46a6-4d67-8fb0-ad94a4289752", + "id": "9f712c5b-390c-46d5-92f1-899d62f0e892", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node18", "status": "BUILT", "number": 1, - "build_time": "2025-12-16T08:59:09.806979854Z", - "created_at": "2025-12-16T08:59:09.734430679Z", - "updated_at": "2025-12-16T08:59:09.808139988Z" + "build_time": "2025-12-16T10:12:50.304956456Z", + "created_at": "2025-12-16T10:12:50.209634926Z", + "updated_at": "2025-12-16T10:12:50.307080188Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "22e4811c-46a6-4d67-8fb0-ad94a4289752", + "id": "9f712c5b-390c-46d5-92f1-899d62f0e892", "deployed": true, "number": 1, - "built_at": "2025-12-16T08:59:09.806979854Z", + "built_at": "2025-12-16T10:12:50.304956456Z", "secrets": [], "status": "built", - "created_at": "2025-12-16T08:59:09.734430679Z", - "updated_at": "2025-12-16T08:59:09.808139988Z", + "created_at": "2025-12-16T10:12:50.209634926Z", + "updated_at": "2025-12-16T10:12:50.307080188Z", "runtime": "node18", "supported_triggers": [ { @@ -2905,19 +2821,19 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "POST", - "path": "/api/v2/actions/actions/13228a5d-a06b-4e51-89aa-45b56efde856/deploy", + "path": "/api/v2/actions/actions/9cc78117-5697-42a8-9c1f-03bf8e5a3689/deploy", "body": "", "status": 200, "response": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "a3a41c63-9269-4717-94ec-49f71afe50ee", + "id": "00b51df2-c7d4-4a31-8e03-ebcd6f5b109c", "deployed": false, "number": 2, "secrets": [], "status": "built", - "created_at": "2025-12-16T09:01:54.068008779Z", - "updated_at": "2025-12-16T09:01:54.068008779Z", + "created_at": "2025-12-16T10:14:51.735114292Z", + "updated_at": "2025-12-16T10:14:51.735114292Z", "runtime": "node18", "supported_triggers": [ { @@ -2926,7 +2842,7 @@ } ], "action": { - "id": "13228a5d-a06b-4e51-89aa-45b56efde856", + "id": "9cc78117-5697-42a8-9c1f-03bf8e5a3689", "name": "My Custom Action", "supported_triggers": [ { @@ -2934,14 +2850,42 @@ "version": "v2" } ], - "created_at": "2025-12-16T08:59:08.956810259Z", - "updated_at": "2025-12-16T09:01:53.363954890Z", + "created_at": "2025-12-16T10:12:49.378691946Z", + "updated_at": "2025-12-16T10:14:50.951794749Z", "all_changes_deployed": false } }, "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/brute-force-protection", + "body": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 66 + }, + "status": 200, + "response": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 66 + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -3020,34 +2964,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/brute-force-protection", - "body": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 66 - }, - "status": 200, - "response": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 66 - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -3075,7 +2991,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-16T08:59:10.887Z", + "updated_at": "2025-12-16T10:12:51.416Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] @@ -3120,7 +3036,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-16T09:01:55.451Z", + "updated_at": "2025-12-16T10:14:53.158Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" }, "rawHeaders": [], @@ -3372,7 +3288,7 @@ "subject": "deprecated" } ], - "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", + "client_id": "0ltKN06qv5WnNoNz2Fu6QvyOl2o6K6nE", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3392,20 +3308,11 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" }, + "is_first_party": true, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -3426,8 +3333,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "client_id": "HC5UXDFP5lEc2vbTkPQWJ1yYeiLRkmDg", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3435,27 +3341,31 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -3476,7 +3386,8 @@ "subject": "deprecated" } ], - "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", + "allowed_origins": [], + "client_id": "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3484,11 +3395,16 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { @@ -3517,7 +3433,7 @@ "subject": "deprecated" } ], - "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "client_id": "GH55Wtak9aTrj6tjRFObq1cqnu5a8mtM", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3536,14 +3452,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "is_first_party": true, "native_social_login": { @@ -3554,16 +3465,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "cross_origin_auth": false, @@ -3574,7 +3486,7 @@ "subject": "deprecated" } ], - "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", + "client_id": "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3583,15 +3495,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -3599,9 +3508,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "is_first_party": true, "native_social_login": { @@ -3612,17 +3526,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "cross_origin_auth": false, @@ -3633,7 +3546,7 @@ "subject": "deprecated" } ], - "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "client_id": "68Ty4a89yPogS0UGdX8aYaS6td9DXYjs", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3642,12 +3555,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -3688,7 +3604,7 @@ "subject": "deprecated" } ], - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3706,22 +3622,10 @@ }, { "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], + "global": true, "callbacks": [], - "client_metadata": {}, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, + "name": "All Applications", "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -3731,10 +3635,17 @@ "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, - "sso": false, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" + ], + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, "signing_keys": [ { "cert": "[REDACTED]", @@ -3742,58 +3653,7 @@ "subject": "deprecated" } ], - "client_id": "xYOv2UsoAuKptIEAjkeB62Oaeg1Jn2QX", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], - "is_first_party": true, - "name": "All Applications", - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", "client_secret": "[REDACTED]", "custom_login_page_on": true } @@ -3811,7 +3671,7 @@ "response": { "connections": [ { - "id": "con_cls5o7ko4UNCAbi5", + "id": "con_cxSOS7uLgPojtLBh", "options": { "mfa": { "active": true, @@ -3874,12 +3734,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", - "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", + "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv" ] }, { - "id": "con_itdctyRSC3HQmlX0", + "id": "con_3R2lX4rln4ArocW5", "options": { "mfa": { "active": true, @@ -3933,7 +3793,7 @@ "response": { "connections": [ { - "id": "con_cls5o7ko4UNCAbi5", + "id": "con_cxSOS7uLgPojtLBh", "options": { "mfa": { "active": true, @@ -3996,12 +3856,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", - "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", + "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv" ] }, { - "id": "con_itdctyRSC3HQmlX0", + "id": "con_3R2lX4rln4ArocW5", "options": { "mfa": { "active": true, @@ -4049,7 +3909,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients?take=50", + "path": "/api/v2/connections/con_3R2lX4rln4ArocW5/clients?take=50", "body": "", "status": 200, "response": { @@ -4065,16 +3925,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_cls5o7ko4UNCAbi5/clients?take=50", + "path": "/api/v2/connections/con_cxSOS7uLgPojtLBh/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf" + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU" }, { - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "client_id": "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv" } ] }, @@ -4084,7 +3944,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients?take=50", + "path": "/api/v2/connections/con_3R2lX4rln4ArocW5/clients?take=50", "body": "", "status": 200, "response": { @@ -4100,16 +3960,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_cls5o7ko4UNCAbi5/clients?take=50", + "path": "/api/v2/connections/con_cxSOS7uLgPojtLBh/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf" + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU" }, { - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "client_id": "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv" } ] }, @@ -4119,11 +3979,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/connections/con_itdctyRSC3HQmlX0", + "path": "/api/v2/connections/con_3R2lX4rln4ArocW5", "body": "", "status": 202, "response": { - "deleted_at": "2025-12-16T09:01:58.981Z" + "deleted_at": "2025-12-16T10:14:56.515Z" }, "rawHeaders": [], "responseIsBinary": false @@ -4131,11 +3991,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_cls5o7ko4UNCAbi5", + "path": "/api/v2/connections/con_cxSOS7uLgPojtLBh", "body": "", "status": 200, "response": { - "id": "con_cls5o7ko4UNCAbi5", + "id": "con_cxSOS7uLgPojtLBh", "options": { "mfa": { "active": true, @@ -4195,8 +4055,8 @@ "active": false }, "enabled_clients": [ - "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", - "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", + "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv" ], "realms": [ "boo-baz-db-connection-test" @@ -4208,11 +4068,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_cls5o7ko4UNCAbi5", + "path": "/api/v2/connections/con_cxSOS7uLgPojtLBh", "body": { "enabled_clients": [ - "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", - "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv", + "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU" ], "is_domain_connection": false, "options": { @@ -4270,7 +4130,7 @@ }, "status": 200, "response": { - "id": "con_cls5o7ko4UNCAbi5", + "id": "con_cxSOS7uLgPojtLBh", "options": { "mfa": { "active": true, @@ -4330,8 +4190,8 @@ "active": false }, "enabled_clients": [ - "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", - "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv", + "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU" ], "realms": [ "boo-baz-db-connection-test" @@ -4343,14 +4203,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_cls5o7ko4UNCAbi5/clients", + "path": "/api/v2/connections/con_cxSOS7uLgPojtLBh/clients", "body": [ { - "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "client_id": "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv", "status": true }, { - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", "status": true } ], @@ -4462,7 +4322,7 @@ "subject": "deprecated" } ], - "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", + "client_id": "0ltKN06qv5WnNoNz2Fu6QvyOl2o6K6nE", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4482,20 +4342,11 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" }, + "is_first_party": true, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -4516,8 +4367,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "client_id": "HC5UXDFP5lEc2vbTkPQWJ1yYeiLRkmDg", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4525,27 +4375,31 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -4566,7 +4420,8 @@ "subject": "deprecated" } ], - "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", + "allowed_origins": [], + "client_id": "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4574,11 +4429,16 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { @@ -4607,7 +4467,7 @@ "subject": "deprecated" } ], - "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "client_id": "GH55Wtak9aTrj6tjRFObq1cqnu5a8mtM", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4622,69 +4482,6 @@ ], "custom_login_page_on": true }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true - }, { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -4723,7 +4520,7 @@ "subject": "deprecated" } ], - "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "client_id": "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4745,9 +4542,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "is_first_party": true, "native_social_login": { @@ -4760,13 +4562,13 @@ }, "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, "sso_disabled": false, "cross_origin_authentication": false, @@ -4778,7 +4580,7 @@ "subject": "deprecated" } ], - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", + "client_id": "68Ty4a89yPogS0UGdX8aYaS6td9DXYjs", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4787,10 +4589,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ - "client_credentials" + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -4798,7 +4605,7 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], "client_metadata": {}, @@ -4811,17 +4618,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "cross_origin_auth": false, @@ -4832,7 +4638,7 @@ "subject": "deprecated" } ], - "client_id": "xYOv2UsoAuKptIEAjkeB62Oaeg1Jn2QX", + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4842,10 +4648,8 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -4901,7 +4705,7 @@ "response": { "connections": [ { - "id": "con_cls5o7ko4UNCAbi5", + "id": "con_cxSOS7uLgPojtLBh", "options": { "mfa": { "active": true, @@ -4964,12 +4768,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", - "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", + "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv" ] }, { - "id": "con_mNzsGFqGTiRm8ck6", + "id": "con_lfhXlIY73LFJlMks", "options": { "email": true, "scope": [ @@ -4991,8 +4795,8 @@ "google-oauth2" ], "enabled_clients": [ - "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", - "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", + "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU" ] } ] @@ -5009,7 +4813,7 @@ "response": { "connections": [ { - "id": "con_cls5o7ko4UNCAbi5", + "id": "con_cxSOS7uLgPojtLBh", "options": { "mfa": { "active": true, @@ -5072,12 +4876,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", - "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", + "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv" ] }, { - "id": "con_mNzsGFqGTiRm8ck6", + "id": "con_lfhXlIY73LFJlMks", "options": { "email": true, "scope": [ @@ -5099,8 +4903,8 @@ "google-oauth2" ], "enabled_clients": [ - "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", - "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", + "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU" ] } ] @@ -5111,16 +4915,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6/clients?take=50", + "path": "/api/v2/connections/con_lfhXlIY73LFJlMks/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l" + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU" }, { - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "client_id": "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF" } ] }, @@ -5130,16 +4934,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6/clients?take=50", + "path": "/api/v2/connections/con_lfhXlIY73LFJlMks/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l" + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU" }, { - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "client_id": "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF" } ] }, @@ -5149,11 +4953,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6", + "path": "/api/v2/connections/con_lfhXlIY73LFJlMks", "body": { "enabled_clients": [ - "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", - "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", + "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU" ], "is_domain_connection": false, "options": { @@ -5167,7 +4971,7 @@ }, "status": 200, "response": { - "id": "con_mNzsGFqGTiRm8ck6", + "id": "con_lfhXlIY73LFJlMks", "options": { "email": true, "scope": [ @@ -5186,8 +4990,8 @@ "active": false }, "enabled_clients": [ - "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", - "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", + "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU" ], "realms": [ "google-oauth2" @@ -5199,14 +5003,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6/clients", + "path": "/api/v2/connections/con_lfhXlIY73LFJlMks/clients", "body": [ { - "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "client_id": "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", "status": true }, { - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", "status": true } ], @@ -5355,7 +5159,7 @@ "subject": "deprecated" } ], - "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", + "client_id": "0ltKN06qv5WnNoNz2Fu6QvyOl2o6K6nE", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5375,20 +5179,11 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" }, + "is_first_party": true, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -5409,8 +5204,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "client_id": "HC5UXDFP5lEc2vbTkPQWJ1yYeiLRkmDg", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5418,27 +5212,31 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -5459,7 +5257,8 @@ "subject": "deprecated" } ], - "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", + "allowed_origins": [], + "client_id": "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5467,11 +5266,16 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { @@ -5500,7 +5304,7 @@ "subject": "deprecated" } ], - "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "client_id": "GH55Wtak9aTrj6tjRFObq1cqnu5a8mtM", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5519,72 +5323,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], + "callbacks": [], "client_metadata": {}, "is_first_party": true, "native_social_login": { @@ -5616,7 +5357,7 @@ "subject": "deprecated" } ], - "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "client_id": "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5638,9 +5379,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "is_first_party": true, "native_social_login": { @@ -5653,13 +5399,13 @@ }, "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, "sso_disabled": false, "cross_origin_authentication": false, @@ -5671,7 +5417,7 @@ "subject": "deprecated" } ], - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", + "client_id": "68Ty4a89yPogS0UGdX8aYaS6td9DXYjs", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5680,10 +5426,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ - "client_credentials" + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -5691,7 +5442,7 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], "client_metadata": {}, @@ -5704,17 +5455,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "cross_origin_auth": false, @@ -5725,7 +5475,7 @@ "subject": "deprecated" } ], - "client_id": "xYOv2UsoAuKptIEAjkeB62Oaeg1Jn2QX", + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5735,10 +5485,8 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -5794,8 +5542,8 @@ "response": { "client_grants": [ { - "id": "cgr_S6EVifP1ifjC9uVQ", - "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "id": "cgr_S92D2BBPB2wQXFYC", + "client_id": "GH55Wtak9aTrj6tjRFObq1cqnu5a8mtM", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -5932,8 +5680,8 @@ "subject_type": "client" }, { - "id": "cgr_eG5gEZKTl5i0JlGq", - "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", + "id": "cgr_UQhGxDPGii0tSQcs", + "client_id": "0ltKN06qv5WnNoNz2Fu6QvyOl2o6K6nE", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -6312,7 +6060,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/client-grants/cgr_eG5gEZKTl5i0JlGq", + "path": "/api/v2/client-grants/cgr_UQhGxDPGii0tSQcs", "body": { "scope": [ "read:client_grants", @@ -6449,8 +6197,8 @@ }, "status": 200, "response": { - "id": "cgr_eG5gEZKTl5i0JlGq", - "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", + "id": "cgr_UQhGxDPGii0tSQcs", + "client_id": "0ltKN06qv5WnNoNz2Fu6QvyOl2o6K6nE", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -6592,7 +6340,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/client-grants/cgr_S6EVifP1ifjC9uVQ", + "path": "/api/v2/client-grants/cgr_S92D2BBPB2wQXFYC", "body": { "scope": [ "read:client_grants", @@ -6729,8 +6477,8 @@ }, "status": 200, "response": { - "id": "cgr_S6EVifP1ifjC9uVQ", - "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "id": "cgr_S92D2BBPB2wQXFYC", + "client_id": "GH55Wtak9aTrj6tjRFObq1cqnu5a8mtM", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -6878,22 +6626,22 @@ "response": { "roles": [ { - "id": "rol_HL6iYQ8aOmwIQR4Z", + "id": "rol_nvXgdsT2ksrlrQpN", "name": "Admin", "description": "Can read and write things" }, { - "id": "rol_6MeXScuszPY3FHmj", + "id": "rol_DW7eDROpAD03JEhC", "name": "Reader", "description": "Can only read things" }, { - "id": "rol_FMUfBZQJE8GIpCD3", + "id": "rol_TDHVhZp26Ti7nQt2", "name": "read_only", "description": "Read Only" }, { - "id": "rol_3JfaQfAutCBGuyMm", + "id": "rol_6uNKN3FdNBPgcRFM", "name": "read_osnly", "description": "Readz Only" } @@ -6908,7 +6656,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_HL6iYQ8aOmwIQR4Z/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_nvXgdsT2ksrlrQpN/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -6923,7 +6671,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_HL6iYQ8aOmwIQR4Z/permissions?per_page=100&page=1&include_totals=true", + "path": "/api/v2/roles/rol_nvXgdsT2ksrlrQpN/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { @@ -6938,7 +6686,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_6MeXScuszPY3FHmj/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_DW7eDROpAD03JEhC/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -6953,7 +6701,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_6MeXScuszPY3FHmj/permissions?per_page=100&page=1&include_totals=true", + "path": "/api/v2/roles/rol_DW7eDROpAD03JEhC/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { @@ -6968,7 +6716,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_FMUfBZQJE8GIpCD3/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_TDHVhZp26Ti7nQt2/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -6983,7 +6731,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_FMUfBZQJE8GIpCD3/permissions?per_page=100&page=1&include_totals=true", + "path": "/api/v2/roles/rol_TDHVhZp26Ti7nQt2/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { @@ -6998,7 +6746,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_3JfaQfAutCBGuyMm/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_6uNKN3FdNBPgcRFM/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -7013,7 +6761,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_3JfaQfAutCBGuyMm/permissions?per_page=100&page=1&include_totals=true", + "path": "/api/v2/roles/rol_6uNKN3FdNBPgcRFM/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { @@ -7028,14 +6776,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/roles/rol_HL6iYQ8aOmwIQR4Z", + "path": "/api/v2/roles/rol_nvXgdsT2ksrlrQpN", "body": { "name": "Admin", "description": "Can read and write things" }, "status": 200, "response": { - "id": "rol_HL6iYQ8aOmwIQR4Z", + "id": "rol_nvXgdsT2ksrlrQpN", "name": "Admin", "description": "Can read and write things" }, @@ -7045,14 +6793,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/roles/rol_6MeXScuszPY3FHmj", + "path": "/api/v2/roles/rol_DW7eDROpAD03JEhC", "body": { "name": "Reader", "description": "Can only read things" }, "status": 200, "response": { - "id": "rol_6MeXScuszPY3FHmj", + "id": "rol_DW7eDROpAD03JEhC", "name": "Reader", "description": "Can only read things" }, @@ -7062,14 +6810,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/roles/rol_FMUfBZQJE8GIpCD3", + "path": "/api/v2/roles/rol_TDHVhZp26Ti7nQt2", "body": { "name": "read_only", "description": "Read Only" }, "status": 200, "response": { - "id": "rol_FMUfBZQJE8GIpCD3", + "id": "rol_TDHVhZp26Ti7nQt2", "name": "read_only", "description": "Read Only" }, @@ -7079,14 +6827,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/roles/rol_3JfaQfAutCBGuyMm", + "path": "/api/v2/roles/rol_6uNKN3FdNBPgcRFM", "body": { "name": "read_osnly", "description": "Readz Only" }, "status": 200, "response": { - "id": "rol_3JfaQfAutCBGuyMm", + "id": "rol_6uNKN3FdNBPgcRFM", "name": "read_osnly", "description": "Readz Only" }, @@ -7122,7 +6870,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-16T08:59:23.996Z", + "updated_at": "2025-12-16T10:13:05.041Z", "branding": { "colors": { "primary": "#19aecc" @@ -7198,7 +6946,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-16T09:02:11.327Z", + "updated_at": "2025-12-16T10:15:07.545Z", "branding": { "colors": { "primary": "#19aecc" @@ -7208,34 +6956,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/email-templates/welcome_email", - "body": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "enabled": false, - "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600 - }, - "status": 200, - "response": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -7264,29 +6984,28 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations?take=50", - "body": "", + "method": "PATCH", + "path": "/api/v2/email-templates/welcome_email", + "body": { + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "enabled": false, + "from": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", + "syntax": "liquid", + "urlLifetimeInSeconds": 3600 + }, "status": 200, "response": { - "organizations": [ - { - "id": "org_4ljRqNj9r3hARo3g", - "name": "org2", - "display_name": "Organization2" - }, - { - "id": "org_TiDOQfO5mFtNEm4F", - "name": "org1", - "display_name": "Organization", - "branding": { - "colors": { - "page_background": "#fff5f5", - "primary": "#57ddff" - } - } - } - ] + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "from": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", + "syntax": "liquid", + "urlLifetimeInSeconds": 3600, + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -7394,7 +7113,7 @@ "subject": "deprecated" } ], - "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", + "client_id": "0ltKN06qv5WnNoNz2Fu6QvyOl2o6K6nE", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7410,6 +7129,50 @@ ], "custom_login_page_on": true }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "HC5UXDFP5lEc2vbTkPQWJ1yYeiLRkmDg", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -7449,7 +7212,7 @@ } ], "allowed_origins": [], - "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "client_id": "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7473,10 +7236,7 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "Terraform Provider", "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -7498,7 +7258,7 @@ "subject": "deprecated" } ], - "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", + "client_id": "GH55Wtak9aTrj6tjRFObq1cqnu5a8mtM", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7517,18 +7277,30 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", + "name": "The Default App", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, - "oidc_conformant": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "cross_origin_auth": false, @@ -7539,7 +7311,7 @@ "subject": "deprecated" } ], - "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "client_id": "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7547,9 +7319,12 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -7596,7 +7371,7 @@ "subject": "deprecated" } ], - "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", + "client_id": "68Ty4a89yPogS0UGdX8aYaS6td9DXYjs", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7621,7 +7396,7 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], "client_metadata": {}, @@ -7634,17 +7409,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "cross_origin_auth": false, @@ -7655,7 +7429,7 @@ "subject": "deprecated" } ], - "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7665,119 +7439,8 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso": false, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "xYOv2UsoAuKptIEAjkeB62Oaeg1Jn2QX", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -7827,7 +7490,36 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations?take=50", + "body": "", + "status": 200, + "response": { + "organizations": [ + { + "id": "org_rupfjUkVVvnPPk1y", + "name": "org2", + "display_name": "Organization2" + }, + { + "id": "org_YQGLuGuqRYrilmSQ", + "name": "org1", + "display_name": "Organization", + "branding": { + "colors": { + "page_background": "#fff5f5", + "primary": "#57ddff" + } + } + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_rupfjUkVVvnPPk1y/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -7842,7 +7534,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/enabled_connections?page=1&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_rupfjUkVVvnPPk1y/enabled_connections?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -7857,7 +7549,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_rupfjUkVVvnPPk1y/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -7872,7 +7564,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/client-grants?page=1&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_rupfjUkVVvnPPk1y/client-grants?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -7887,7 +7579,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/discovery-domains?take=50", + "path": "/api/v2/organizations/org_rupfjUkVVvnPPk1y/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -7899,7 +7591,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/discovery-domains?take=50", + "path": "/api/v2/organizations/org_rupfjUkVVvnPPk1y/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -7911,7 +7603,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_YQGLuGuqRYrilmSQ/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -7926,7 +7618,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/enabled_connections?page=1&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_YQGLuGuqRYrilmSQ/enabled_connections?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -7941,7 +7633,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_YQGLuGuqRYrilmSQ/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -7956,7 +7648,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/client-grants?page=1&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_YQGLuGuqRYrilmSQ/client-grants?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -7971,7 +7663,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/discovery-domains?take=50", + "path": "/api/v2/organizations/org_YQGLuGuqRYrilmSQ/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -7983,7 +7675,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/discovery-domains?take=50", + "path": "/api/v2/organizations/org_YQGLuGuqRYrilmSQ/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -8001,7 +7693,7 @@ "response": { "connections": [ { - "id": "con_cls5o7ko4UNCAbi5", + "id": "con_cxSOS7uLgPojtLBh", "options": { "mfa": { "active": true, @@ -8064,12 +7756,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", - "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", + "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv" ] }, { - "id": "con_mNzsGFqGTiRm8ck6", + "id": "con_lfhXlIY73LFJlMks", "options": { "email": true, "scope": [ @@ -8091,8 +7783,8 @@ "google-oauth2" ], "enabled_clients": [ - "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", - "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", + "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU" ] } ] @@ -8103,611 +7795,132 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/client-grants?take=50", + "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { - "client_grants": [ + "total": 9, + "start": 0, + "limit": 100, + "clients": [ { - "id": "cgr_S6EVifP1ifjC9uVQ", - "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Deploy CLI", + "is_first_party": true, + "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "cross_origin_authentication": true, + "allowed_clients": [], + "callbacks": [], + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "subject_type": "client" + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials", + "implicit", + "authorization_code", + "refresh_token" + ], + "custom_login_page_on": true }, { - "id": "cgr_eG5gEZKTl5i0JlGq", - "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "subject_type": "client" + "client_id": "0ltKN06qv5WnNoNz2Fu6QvyOl2o6K6nE", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true }, - { - "id": "cgr_pbwejzhwoujrsNE8", - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:client_credentials", - "update:client_credentials", - "delete:client_credentials", - "create:client_credentials", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations_summary", - "create:authentication_methods", - "read:authentication_methods", - "update:authentication_methods", - "delete:authentication_methods", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "read:organization_discovery_domains", - "update:organization_discovery_domains", - "create:organization_discovery_domains", - "delete:organization_discovery_domains", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations", - "read:scim_config", - "create:scim_config", - "update:scim_config", - "delete:scim_config", - "create:scim_token", - "read:scim_token", - "delete:scim_token", - "delete:phone_providers", - "create:phone_providers", - "read:phone_providers", - "update:phone_providers", - "delete:phone_templates", - "create:phone_templates", - "read:phone_templates", - "update:phone_templates", - "create:encryption_keys", - "read:encryption_keys", - "update:encryption_keys", - "delete:encryption_keys", - "read:sessions", - "update:sessions", - "delete:sessions", - "read:refresh_tokens", - "delete:refresh_tokens", - "create:self_service_profiles", - "read:self_service_profiles", - "update:self_service_profiles", - "delete:self_service_profiles", - "create:sso_access_tickets", - "delete:sso_access_tickets", - "read:forms", - "update:forms", - "delete:forms", - "create:forms", - "read:flows", - "update:flows", - "delete:flows", - "create:flows", - "read:flows_vault", - "read:flows_vault_connections", - "update:flows_vault_connections", - "delete:flows_vault_connections", - "create:flows_vault_connections", - "read:flows_executions", - "delete:flows_executions", - "read:connections_options", - "update:connections_options", - "read:self_service_profile_custom_texts", - "update:self_service_profile_custom_texts", - "create:network_acls", - "update:network_acls", - "read:network_acls", - "delete:network_acls", - "delete:vdcs_templates", - "read:vdcs_templates", - "create:vdcs_templates", - "update:vdcs_templates", - "create:custom_signing_keys", - "read:custom_signing_keys", - "update:custom_signing_keys", - "delete:custom_signing_keys", - "read:federated_connections_tokens", - "delete:federated_connections_tokens", - "create:user_attribute_profiles", - "read:user_attribute_profiles", - "update:user_attribute_profiles", - "delete:user_attribute_profiles", - "read:event_streams", - "create:event_streams", - "delete:event_streams", - "update:event_streams", - "read:event_deliveries", - "update:event_deliveries", - "create:connection_profiles", - "read:connection_profiles", - "update:connection_profiles", - "delete:connection_profiles", - "read:organization_client_grants", - "create:organization_client_grants", - "delete:organization_client_grants", - "read:security_metrics", - "read:connections_keys", - "update:connections_keys", - "create:connections_keys" - ], - "subject_type": "client" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", - "body": "", - "status": 200, - "response": { - "total": 9, - "start": 0, - "limit": 100, - "clients": [ { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "is_first_party": true, "oidc_conformant": true, - "sso_disabled": false, - "cross_origin_auth": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "cross_origin_authentication": true, - "allowed_clients": [], - "callbacks": [], - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials", - "implicit", - "authorization_code", - "refresh_token" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -8727,7 +7940,7 @@ "subject": "deprecated" } ], - "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", + "client_id": "HC5UXDFP5lEc2vbTkPQWJ1yYeiLRkmDg", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8735,7 +7948,6 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", "app_type": "non_interactive", "grant_types": [ @@ -8782,7 +7994,7 @@ } ], "allowed_origins": [], - "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "client_id": "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8806,10 +8018,7 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "Terraform Provider", "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -8831,7 +8040,7 @@ "subject": "deprecated" } ], - "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", + "client_id": "GH55Wtak9aTrj6tjRFObq1cqnu5a8mtM", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8850,18 +8059,30 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", + "name": "The Default App", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, - "oidc_conformant": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "cross_origin_auth": false, @@ -8872,7 +8093,7 @@ "subject": "deprecated" } ], - "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "client_id": "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8880,9 +8101,12 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -8929,7 +8153,7 @@ "subject": "deprecated" } ], - "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", + "client_id": "68Ty4a89yPogS0UGdX8aYaS6td9DXYjs", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8950,62 +8174,6 @@ ], "custom_login_page_on": true }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso": false, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -9043,7 +8211,7 @@ "subject": "deprecated" } ], - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9059,62 +8227,6 @@ ], "custom_login_page_on": true }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso": false, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "xYOv2UsoAuKptIEAjkeB62Oaeg1Jn2QX", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, { "tenant": "auth0-deploy-cli-e2e", "global": true, @@ -9148,9 +8260,533 @@ "subject": "deprecated" } ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/client-grants?take=50", + "body": "", + "status": 200, + "response": { + "client_grants": [ + { + "id": "cgr_S92D2BBPB2wQXFYC", + "client_id": "GH55Wtak9aTrj6tjRFObq1cqnu5a8mtM", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ], + "subject_type": "client" + }, + { + "id": "cgr_UQhGxDPGii0tSQcs", + "client_id": "0ltKN06qv5WnNoNz2Fu6QvyOl2o6K6nE", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ], + "subject_type": "client" + }, + { + "id": "cgr_pbwejzhwoujrsNE8", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:client_credentials", + "update:client_credentials", + "delete:client_credentials", + "create:client_credentials", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations_summary", + "create:authentication_methods", + "read:authentication_methods", + "update:authentication_methods", + "delete:authentication_methods", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "read:organization_discovery_domains", + "update:organization_discovery_domains", + "create:organization_discovery_domains", + "delete:organization_discovery_domains", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations", + "read:scim_config", + "create:scim_config", + "update:scim_config", + "delete:scim_config", + "create:scim_token", + "read:scim_token", + "delete:scim_token", + "delete:phone_providers", + "create:phone_providers", + "read:phone_providers", + "update:phone_providers", + "delete:phone_templates", + "create:phone_templates", + "read:phone_templates", + "update:phone_templates", + "create:encryption_keys", + "read:encryption_keys", + "update:encryption_keys", + "delete:encryption_keys", + "read:sessions", + "update:sessions", + "delete:sessions", + "read:refresh_tokens", + "delete:refresh_tokens", + "create:self_service_profiles", + "read:self_service_profiles", + "update:self_service_profiles", + "delete:self_service_profiles", + "create:sso_access_tickets", + "delete:sso_access_tickets", + "read:forms", + "update:forms", + "delete:forms", + "create:forms", + "read:flows", + "update:flows", + "delete:flows", + "create:flows", + "read:flows_vault", + "read:flows_vault_connections", + "update:flows_vault_connections", + "delete:flows_vault_connections", + "create:flows_vault_connections", + "read:flows_executions", + "delete:flows_executions", + "read:connections_options", + "update:connections_options", + "read:self_service_profile_custom_texts", + "update:self_service_profile_custom_texts", + "create:network_acls", + "update:network_acls", + "read:network_acls", + "delete:network_acls", + "delete:vdcs_templates", + "read:vdcs_templates", + "create:vdcs_templates", + "update:vdcs_templates", + "create:custom_signing_keys", + "read:custom_signing_keys", + "update:custom_signing_keys", + "delete:custom_signing_keys", + "read:federated_connections_tokens", + "delete:federated_connections_tokens", + "create:user_attribute_profiles", + "read:user_attribute_profiles", + "update:user_attribute_profiles", + "delete:user_attribute_profiles", + "read:event_streams", + "create:event_streams", + "delete:event_streams", + "update:event_streams", + "read:event_deliveries", + "update:event_deliveries", + "create:connection_profiles", + "read:connection_profiles", + "update:connection_profiles", + "delete:connection_profiles", + "read:organization_client_grants", + "create:organization_client_grants", + "delete:organization_client_grants", + "read:security_metrics", + "read:connections_keys", + "update:connections_keys", + "create:connections_keys" + ], + "subject_type": "client" } ] }, @@ -9160,23 +8796,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g", - "body": { - "display_name": "Organization2" - }, - "status": 200, - "response": { - "id": "org_4ljRqNj9r3hARo3g", - "display_name": "Organization2", - "name": "org2" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F", + "path": "/api/v2/organizations/org_YQGLuGuqRYrilmSQ", "body": { "branding": { "colors": { @@ -9194,13 +8814,29 @@ "primary": "#57ddff" } }, - "id": "org_TiDOQfO5mFtNEm4F", + "id": "org_YQGLuGuqRYrilmSQ", "display_name": "Organization", "name": "org1" }, "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/organizations/org_rupfjUkVVvnPPk1y", + "body": { + "display_name": "Organization2" + }, + "status": 200, + "response": { + "id": "org_rupfjUkVVvnPPk1y", + "display_name": "Organization2", + "name": "org2" + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -9209,7 +8845,7 @@ "status": 200, "response": [ { - "id": "lst_0000000000025595", + "id": "lst_0000000000025597", "name": "Suspended DD Log Stream", "type": "datadog", "status": "active", @@ -9220,14 +8856,14 @@ "isPriority": false }, { - "id": "lst_0000000000025596", + "id": "lst_0000000000025598", "name": "Amazon EventBridge", "type": "eventbridge", "status": "active", "sink": { "awsAccountId": "123456789012", "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-2a1febfb-fae7-4ade-ac00-b462a0a18f30/auth0.logs" + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-7022a134-25ea-40c6-8164-cf25c35ee97d/auth0.logs" }, "filters": [ { @@ -9276,7 +8912,33 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/log-streams/lst_0000000000025596", + "path": "/api/v2/log-streams/lst_0000000000025597", + "body": { + "name": "Suspended DD Log Stream", + "sink": { + "datadogApiKey": "some-sensitive-api-key", + "datadogRegion": "us" + } + }, + "status": 200, + "response": { + "id": "lst_0000000000025597", + "name": "Suspended DD Log Stream", + "type": "datadog", + "status": "active", + "sink": { + "datadogApiKey": "some-sensitive-api-key", + "datadogRegion": "us" + }, + "isPriority": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/log-streams/lst_0000000000025598", "body": { "name": "Amazon EventBridge", "filters": [ @@ -9321,14 +8983,14 @@ }, "status": 200, "response": { - "id": "lst_0000000000025596", + "id": "lst_0000000000025598", "name": "Amazon EventBridge", "type": "eventbridge", "status": "active", "sink": { "awsAccountId": "123456789012", "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-2a1febfb-fae7-4ade-ac00-b462a0a18f30/auth0.logs" + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-7022a134-25ea-40c6-8164-cf25c35ee97d/auth0.logs" }, "filters": [ { @@ -9373,32 +9035,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/log-streams/lst_0000000000025595", - "body": { - "name": "Suspended DD Log Stream", - "sink": { - "datadogApiKey": "some-sensitive-api-key", - "datadogRegion": "us" - } - }, - "status": 200, - "response": { - "id": "lst_0000000000025595", - "name": "Suspended DD Log Stream", - "type": "datadog", - "status": "active", - "sink": { - "datadogApiKey": "some-sensitive-api-key", - "datadogRegion": "us" - }, - "isPriority": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -9445,7 +9081,7 @@ "name": "Blank-form", "flow_count": 0, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-16T08:59:30.202Z" + "updated_at": "2025-12-16T10:13:11.443Z" } ] }, @@ -9516,7 +9152,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-16T08:59:30.202Z" + "updated_at": "2025-12-16T10:13:11.443Z" }, "rawHeaders": [], "responseIsBinary": false @@ -9641,7 +9277,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-16T09:02:21.881Z" + "updated_at": "2025-12-16T10:15:18.070Z" }, "rawHeaders": [], "responseIsBinary": false @@ -10844,62 +10480,8 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", + "name": "API Explorer Application", "allowed_clients": [], - "allowed_logout_urls": [], "callbacks": [], "client_metadata": {}, "is_first_party": true, @@ -10931,8 +10513,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "client_id": "0ltKN06qv5WnNoNz2Fu6QvyOl2o6K6nE", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10942,14 +10523,10 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { @@ -10981,7 +10558,7 @@ "subject": "deprecated" } ], - "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", + "client_id": "HC5UXDFP5lEc2vbTkPQWJ1yYeiLRkmDg", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11000,8 +10577,20 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -11022,7 +10611,8 @@ "subject": "deprecated" } ], - "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "allowed_origins": [], + "client_id": "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11030,44 +10620,33 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, + "name": "Terraform Provider", "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" }, "sso_disabled": false, "cross_origin_authentication": false, @@ -11079,7 +10658,7 @@ "subject": "deprecated" } ], - "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", + "client_id": "GH55Wtak9aTrj6tjRFObq1cqnu5a8mtM", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11087,16 +10666,10 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "client_credentials" ], "custom_login_page_on": true }, @@ -11138,7 +10711,7 @@ "subject": "deprecated" } ], - "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "client_id": "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11160,9 +10733,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "is_first_party": true, "native_social_login": { @@ -11175,13 +10753,13 @@ }, "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, "sso_disabled": false, "cross_origin_authentication": false, @@ -11193,7 +10771,7 @@ "subject": "deprecated" } ], - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", + "client_id": "68Ty4a89yPogS0UGdX8aYaS6td9DXYjs", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11202,10 +10780,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ - "client_credentials" + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -11213,7 +10796,7 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], "client_metadata": {}, @@ -11226,17 +10809,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "cross_origin_auth": false, @@ -11247,7 +10829,7 @@ "subject": "deprecated" } ], - "client_id": "xYOv2UsoAuKptIEAjkeB62Oaeg1Jn2QX", + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11257,10 +10839,8 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -11273,7 +10853,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", + "path": "/api/v2/clients/0ltKN06qv5WnNoNz2Fu6QvyOl2o6K6nE", "body": "", "status": 204, "response": "", @@ -11283,7 +10863,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", + "path": "/api/v2/clients/KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv", "body": "", "status": 204, "response": "", @@ -11293,7 +10873,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "path": "/api/v2/clients/HC5UXDFP5lEc2vbTkPQWJ1yYeiLRkmDg", "body": "", "status": 204, "response": "", @@ -11303,7 +10883,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "path": "/api/v2/clients/GH55Wtak9aTrj6tjRFObq1cqnu5a8mtM", "body": "", "status": 204, "response": "", @@ -11313,7 +10893,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", + "path": "/api/v2/clients/ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", "body": "", "status": 204, "response": "", @@ -11323,7 +10903,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "path": "/api/v2/clients/68Ty4a89yPogS0UGdX8aYaS6td9DXYjs", "body": "", "status": 204, "response": "", @@ -11333,7 +10913,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", + "path": "/api/v2/clients/1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", "body": "", "status": 204, "response": "", @@ -11404,7 +10984,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", + "client_id": "hI21z2wyWVzGpNi9K13c9dHvf5pCxqWe", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11423,20 +11003,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PUT", - "path": "/api/v2/guardian/factors/duo", - "body": { - "enabled": false - }, - "status": 200, - "response": { - "enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", @@ -11454,7 +11020,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", + "path": "/api/v2/guardian/factors/duo", "body": { "enabled": false }, @@ -11468,7 +11034,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/duo", + "path": "/api/v2/guardian/factors/email", "body": { "enabled": false }, @@ -11482,7 +11048,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-platform", + "path": "/api/v2/guardian/factors/webauthn-roaming", "body": { "enabled": false }, @@ -11510,7 +11076,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/webauthn-platform", "body": { "enabled": false }, @@ -11538,7 +11104,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/email", + "path": "/api/v2/guardian/factors/sms", "body": { "enabled": false }, @@ -11611,7 +11177,7 @@ "response": { "actions": [ { - "id": "13228a5d-a06b-4e51-89aa-45b56efde856", + "id": "9cc78117-5697-42a8-9c1f-03bf8e5a3689", "name": "My Custom Action", "supported_triggers": [ { @@ -11619,34 +11185,34 @@ "version": "v2" } ], - "created_at": "2025-12-16T08:59:08.956810259Z", - "updated_at": "2025-12-16T09:01:53.371586083Z", + "created_at": "2025-12-16T10:12:49.378691946Z", + "updated_at": "2025-12-16T10:14:50.956711889Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "built", "secrets": [], "current_version": { - "id": "a3a41c63-9269-4717-94ec-49f71afe50ee", + "id": "00b51df2-c7d4-4a31-8e03-ebcd6f5b109c", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node18", "status": "BUILT", "number": 2, - "build_time": "2025-12-16T09:01:54.157289479Z", - "created_at": "2025-12-16T09:01:54.068008779Z", - "updated_at": "2025-12-16T09:01:54.158632357Z" + "build_time": "2025-12-16T10:14:51.834979562Z", + "created_at": "2025-12-16T10:14:51.735114292Z", + "updated_at": "2025-12-16T10:14:51.837244030Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "a3a41c63-9269-4717-94ec-49f71afe50ee", + "id": "00b51df2-c7d4-4a31-8e03-ebcd6f5b109c", "deployed": true, "number": 2, - "built_at": "2025-12-16T09:01:54.157289479Z", + "built_at": "2025-12-16T10:14:51.834979562Z", "secrets": [], "status": "built", - "created_at": "2025-12-16T09:01:54.068008779Z", - "updated_at": "2025-12-16T09:01:54.158632357Z", + "created_at": "2025-12-16T10:14:51.735114292Z", + "updated_at": "2025-12-16T10:14:51.837244030Z", "runtime": "node18", "supported_triggers": [ { @@ -11667,7 +11233,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/actions/actions/13228a5d-a06b-4e51-89aa-45b56efde856?force=true", + "path": "/api/v2/actions/actions/9cc78117-5697-42a8-9c1f-03bf8e5a3689?force=true", "body": "", "status": 204, "response": "", @@ -11687,62 +11253,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/breached-password-detection", - "body": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard" - }, - "status": 200, - "response": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard", - "stage": { - "pre-user-registration": { - "shields": [] - }, - "pre-change-password": { - "shields": [] - } - } - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/breached-password-detection", - "body": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard" - }, - "status": 200, - "response": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard", - "stage": { - "pre-user-registration": { - "shields": [] - }, - "pre-change-password": { - "shields": [] - } - } - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -11819,6 +11329,34 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/breached-password-detection", + "body": { + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard" + }, + "status": 200, + "response": { + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard", + "stage": { + "pre-user-registration": { + "shields": [] + }, + "pre-change-password": { + "shields": [] + } + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -11912,7 +11450,7 @@ "subject": "deprecated" } ], - "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", + "client_id": "hI21z2wyWVzGpNi9K13c9dHvf5pCxqWe", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11979,7 +11517,7 @@ "response": { "connections": [ { - "id": "con_cls5o7ko4UNCAbi5", + "id": "con_cxSOS7uLgPojtLBh", "options": { "mfa": { "active": true, @@ -12057,7 +11595,7 @@ "response": { "connections": [ { - "id": "con_cls5o7ko4UNCAbi5", + "id": "con_cxSOS7uLgPojtLBh", "options": { "mfa": { "active": true, @@ -12129,7 +11667,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_cls5o7ko4UNCAbi5/clients?take=50", + "path": "/api/v2/connections/con_cxSOS7uLgPojtLBh/clients?take=50", "body": "", "status": 200, "response": { @@ -12141,7 +11679,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_cls5o7ko4UNCAbi5/clients?take=50", + "path": "/api/v2/connections/con_cxSOS7uLgPojtLBh/clients?take=50", "body": "", "status": 200, "response": { @@ -12153,11 +11691,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/connections/con_cls5o7ko4UNCAbi5", + "path": "/api/v2/connections/con_cxSOS7uLgPojtLBh", "body": "", "status": 202, "response": { - "deleted_at": "2025-12-16T09:02:41.096Z" + "deleted_at": "2025-12-16T10:15:34.350Z" }, "rawHeaders": [], "responseIsBinary": false @@ -12171,7 +11709,7 @@ "strategy": "auth0", "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" + "hI21z2wyWVzGpNi9K13c9dHvf5pCxqWe" ], "is_domain_connection": false, "options": { @@ -12189,7 +11727,7 @@ }, "status": 201, "response": { - "id": "con_3R2lX4rln4ArocW5", + "id": "con_OCG9gVNvzxoXsDxv", "options": { "mfa": { "active": true, @@ -12224,7 +11762,7 @@ }, "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" + "hI21z2wyWVzGpNi9K13c9dHvf5pCxqWe" ], "realms": [ "Username-Password-Authentication" @@ -12242,7 +11780,7 @@ "response": { "connections": [ { - "id": "con_3R2lX4rln4ArocW5", + "id": "con_OCG9gVNvzxoXsDxv", "options": { "mfa": { "active": true, @@ -12280,7 +11818,7 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" + "hI21z2wyWVzGpNi9K13c9dHvf5pCxqWe" ] } ] @@ -12291,14 +11829,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_3R2lX4rln4ArocW5/clients", + "path": "/api/v2/connections/con_OCG9gVNvzxoXsDxv/clients", "body": [ { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "status": true }, { - "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", + "client_id": "hI21z2wyWVzGpNi9K13c9dHvf5pCxqWe", "status": true } ], @@ -12400,7 +11938,7 @@ "subject": "deprecated" } ], - "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", + "client_id": "hI21z2wyWVzGpNi9K13c9dHvf5pCxqWe", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12467,7 +12005,7 @@ "response": { "connections": [ { - "id": "con_mNzsGFqGTiRm8ck6", + "id": "con_lfhXlIY73LFJlMks", "options": { "email": true, "scope": [ @@ -12491,7 +12029,7 @@ "enabled_clients": [] }, { - "id": "con_3R2lX4rln4ArocW5", + "id": "con_OCG9gVNvzxoXsDxv", "options": { "mfa": { "active": true, @@ -12529,7 +12067,7 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" + "hI21z2wyWVzGpNi9K13c9dHvf5pCxqWe" ] } ] @@ -12546,7 +12084,7 @@ "response": { "connections": [ { - "id": "con_mNzsGFqGTiRm8ck6", + "id": "con_lfhXlIY73LFJlMks", "options": { "email": true, "scope": [ @@ -12570,7 +12108,7 @@ "enabled_clients": [] }, { - "id": "con_3R2lX4rln4ArocW5", + "id": "con_OCG9gVNvzxoXsDxv", "options": { "mfa": { "active": true, @@ -12608,7 +12146,7 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" + "hI21z2wyWVzGpNi9K13c9dHvf5pCxqWe" ] } ] @@ -12619,7 +12157,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6/clients?take=50", + "path": "/api/v2/connections/con_lfhXlIY73LFJlMks/clients?take=50", "body": "", "status": 200, "response": { @@ -12631,7 +12169,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6/clients?take=50", + "path": "/api/v2/connections/con_lfhXlIY73LFJlMks/clients?take=50", "body": "", "status": 200, "response": { @@ -12643,11 +12181,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6", + "path": "/api/v2/connections/con_lfhXlIY73LFJlMks", "body": "", "status": 202, "response": { - "deleted_at": "2025-12-16T09:02:47.259Z" + "deleted_at": "2025-12-16T10:15:40.520Z" }, "rawHeaders": [], "responseIsBinary": false @@ -12779,7 +12317,7 @@ "subject": "deprecated" } ], - "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", + "client_id": "hI21z2wyWVzGpNi9K13c9dHvf5pCxqWe", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13094,22 +12632,22 @@ "response": { "roles": [ { - "id": "rol_HL6iYQ8aOmwIQR4Z", + "id": "rol_nvXgdsT2ksrlrQpN", "name": "Admin", "description": "Can read and write things" }, { - "id": "rol_6MeXScuszPY3FHmj", + "id": "rol_DW7eDROpAD03JEhC", "name": "Reader", "description": "Can only read things" }, { - "id": "rol_FMUfBZQJE8GIpCD3", + "id": "rol_TDHVhZp26Ti7nQt2", "name": "read_only", "description": "Read Only" }, { - "id": "rol_3JfaQfAutCBGuyMm", + "id": "rol_6uNKN3FdNBPgcRFM", "name": "read_osnly", "description": "Readz Only" } @@ -13124,7 +12662,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_HL6iYQ8aOmwIQR4Z/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_nvXgdsT2ksrlrQpN/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -13139,7 +12677,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_HL6iYQ8aOmwIQR4Z/permissions?per_page=100&page=1&include_totals=true", + "path": "/api/v2/roles/rol_nvXgdsT2ksrlrQpN/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { @@ -13154,7 +12692,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_6MeXScuszPY3FHmj/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_DW7eDROpAD03JEhC/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -13169,7 +12707,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_6MeXScuszPY3FHmj/permissions?per_page=100&page=1&include_totals=true", + "path": "/api/v2/roles/rol_DW7eDROpAD03JEhC/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { @@ -13184,7 +12722,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_FMUfBZQJE8GIpCD3/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_TDHVhZp26Ti7nQt2/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -13199,7 +12737,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_FMUfBZQJE8GIpCD3/permissions?per_page=100&page=1&include_totals=true", + "path": "/api/v2/roles/rol_TDHVhZp26Ti7nQt2/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { @@ -13214,7 +12752,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_3JfaQfAutCBGuyMm/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_6uNKN3FdNBPgcRFM/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -13229,7 +12767,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_3JfaQfAutCBGuyMm/permissions?per_page=100&page=1&include_totals=true", + "path": "/api/v2/roles/rol_6uNKN3FdNBPgcRFM/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { @@ -13244,7 +12782,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/roles/rol_HL6iYQ8aOmwIQR4Z", + "path": "/api/v2/roles/rol_nvXgdsT2ksrlrQpN", "body": "", "status": 200, "response": {}, @@ -13254,7 +12792,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/roles/rol_6MeXScuszPY3FHmj", + "path": "/api/v2/roles/rol_DW7eDROpAD03JEhC", "body": "", "status": 200, "response": {}, @@ -13264,7 +12802,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/roles/rol_FMUfBZQJE8GIpCD3", + "path": "/api/v2/roles/rol_TDHVhZp26Ti7nQt2", "body": "", "status": 200, "response": {}, @@ -13274,7 +12812,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/roles/rol_3JfaQfAutCBGuyMm", + "path": "/api/v2/roles/rol_6uNKN3FdNBPgcRFM", "body": "", "status": 200, "response": {}, @@ -13290,12 +12828,12 @@ "response": { "organizations": [ { - "id": "org_4ljRqNj9r3hARo3g", + "id": "org_rupfjUkVVvnPPk1y", "name": "org2", "display_name": "Organization2" }, { - "id": "org_TiDOQfO5mFtNEm4F", + "id": "org_YQGLuGuqRYrilmSQ", "name": "org1", "display_name": "Organization", "branding": { @@ -13403,7 +12941,7 @@ "subject": "deprecated" } ], - "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", + "client_id": "hI21z2wyWVzGpNi9K13c9dHvf5pCxqWe", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13464,7 +13002,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_rupfjUkVVvnPPk1y/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -13479,7 +13017,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/enabled_connections?page=1&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_rupfjUkVVvnPPk1y/enabled_connections?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -13494,7 +13032,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_rupfjUkVVvnPPk1y/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -13509,7 +13047,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/client-grants?page=1&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_rupfjUkVVvnPPk1y/client-grants?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -13524,7 +13062,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/discovery-domains?take=50", + "path": "/api/v2/organizations/org_rupfjUkVVvnPPk1y/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -13536,7 +13074,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/discovery-domains?take=50", + "path": "/api/v2/organizations/org_rupfjUkVVvnPPk1y/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -13548,7 +13086,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_YQGLuGuqRYrilmSQ/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -13563,7 +13101,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/enabled_connections?page=1&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_YQGLuGuqRYrilmSQ/enabled_connections?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -13578,7 +13116,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_YQGLuGuqRYrilmSQ/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -13593,7 +13131,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/client-grants?page=1&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_YQGLuGuqRYrilmSQ/client-grants?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -13608,7 +13146,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/discovery-domains?take=50", + "path": "/api/v2/organizations/org_YQGLuGuqRYrilmSQ/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -13620,7 +13158,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/discovery-domains?take=50", + "path": "/api/v2/organizations/org_YQGLuGuqRYrilmSQ/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -13638,7 +13176,7 @@ "response": { "connections": [ { - "id": "con_3R2lX4rln4ArocW5", + "id": "con_OCG9gVNvzxoXsDxv", "options": { "mfa": { "active": true, @@ -13676,7 +13214,7 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" + "hI21z2wyWVzGpNi9K13c9dHvf5pCxqWe" ] } ] @@ -13777,7 +13315,7 @@ "subject": "deprecated" } ], - "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", + "client_id": "hI21z2wyWVzGpNi9K13c9dHvf5pCxqWe", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14086,7 +13624,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g", + "path": "/api/v2/organizations/org_YQGLuGuqRYrilmSQ", "body": "", "status": 204, "response": "", @@ -14096,7 +13634,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F", + "path": "/api/v2/organizations/org_rupfjUkVVvnPPk1y", "body": "", "status": 204, "response": "", @@ -14111,7 +13649,7 @@ "status": 200, "response": [ { - "id": "lst_0000000000025595", + "id": "lst_0000000000025597", "name": "Suspended DD Log Stream", "type": "datadog", "status": "active", @@ -14122,14 +13660,14 @@ "isPriority": false }, { - "id": "lst_0000000000025596", + "id": "lst_0000000000025598", "name": "Amazon EventBridge", "type": "eventbridge", "status": "active", "sink": { "awsAccountId": "123456789012", "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-2a1febfb-fae7-4ade-ac00-b462a0a18f30/auth0.logs" + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-7022a134-25ea-40c6-8164-cf25c35ee97d/auth0.logs" }, "filters": [ { @@ -14178,7 +13716,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/log-streams/lst_0000000000025595", + "path": "/api/v2/log-streams/lst_0000000000025597", "body": "", "status": 204, "response": "", @@ -14188,7 +13726,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/log-streams/lst_0000000000025596", + "path": "/api/v2/log-streams/lst_0000000000025598", "body": "", "status": 204, "response": "", @@ -15496,7 +15034,7 @@ "subject": "deprecated" } ], - "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", + "client_id": "hI21z2wyWVzGpNi9K13c9dHvf5pCxqWe", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -15526,7 +15064,7 @@ "response": { "connections": [ { - "id": "con_3R2lX4rln4ArocW5", + "id": "con_OCG9gVNvzxoXsDxv", "options": { "mfa": { "active": true, @@ -15564,7 +15102,7 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" + "hI21z2wyWVzGpNi9K13c9dHvf5pCxqWe" ] } ] @@ -15575,13 +15113,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_3R2lX4rln4ArocW5/clients?take=50", + "path": "/api/v2/connections/con_OCG9gVNvzxoXsDxv/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" + "client_id": "hI21z2wyWVzGpNi9K13c9dHvf5pCxqWe" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -15594,13 +15132,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_3R2lX4rln4ArocW5/clients?take=50", + "path": "/api/v2/connections/con_OCG9gVNvzxoXsDxv/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" + "client_id": "hI21z2wyWVzGpNi9K13c9dHvf5pCxqWe" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -15619,7 +15157,7 @@ "response": { "connections": [ { - "id": "con_3R2lX4rln4ArocW5", + "id": "con_OCG9gVNvzxoXsDxv", "options": { "mfa": { "active": true, @@ -15657,7 +15195,7 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" + "hI21z2wyWVzGpNi9K13c9dHvf5pCxqWe" ] } ] @@ -15752,21 +15290,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/email-templates/stolen_credentials", - "body": "", - "status": 404, - "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -15788,7 +15311,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email_by_code", + "path": "/api/v2/email-templates/reset_email", "body": "", "status": 404, "response": { @@ -15803,7 +15326,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/change_password", + "path": "/api/v2/email-templates/enrollment_email", "body": "", "status": 404, "response": { @@ -15818,7 +15341,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/blocked_account", + "path": "/api/v2/email-templates/mfa_oob_code", "body": "", "status": 404, "response": { @@ -15833,7 +15356,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/user_invitation", + "path": "/api/v2/email-templates/password_reset", "body": "", "status": 404, "response": { @@ -15848,18 +15371,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/welcome_email", + "path": "/api/v2/email-templates/async_approval", "body": "", - "status": 200, + "status": 404, "response": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" }, "rawHeaders": [], "responseIsBinary": false @@ -15867,7 +15386,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/verify_email_by_code", + "path": "/api/v2/email-templates/change_password", "body": "", "status": 404, "response": { @@ -15882,7 +15401,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/mfa_oob_code", + "path": "/api/v2/email-templates/verify_email_by_code", "body": "", "status": 404, "response": { @@ -15897,7 +15416,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/password_reset", + "path": "/api/v2/email-templates/stolen_credentials", "body": "", "status": 404, "response": { @@ -15912,7 +15431,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/password_reset", + "path": "/api/v2/email-templates/user_invitation", "body": "", "status": 404, "response": { @@ -15927,7 +15446,26 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email", + "path": "/api/v2/email-templates/welcome_email", + "body": "", + "status": 200, + "response": { + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "from": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", + "syntax": "liquid", + "urlLifetimeInSeconds": 3600, + "enabled": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/email-templates/blocked_account", "body": "", "status": 404, "response": { @@ -15942,7 +15480,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/async_approval", + "path": "/api/v2/email-templates/reset_email_by_code", "body": "", "status": 404, "response": { @@ -16256,7 +15794,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/guardian/factors/push-notification/providers/sns", + "path": "/api/v2/guardian/factors/sms/providers/twilio", "body": "", "status": 200, "response": {}, @@ -16266,7 +15804,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/guardian/factors/sms/providers/twilio", + "path": "/api/v2/guardian/factors/push-notification/providers/sns", "body": "", "status": 200, "response": {}, @@ -16382,7 +15920,7 @@ }, "credentials": null, "created_at": "2025-12-09T12:24:00.604Z", - "updated_at": "2025-12-16T08:58:34.717Z" + "updated_at": "2025-12-16T10:11:48.093Z" } ] }, @@ -16397,6 +15935,22 @@ "status": 200, "response": { "templates": [ + { + "id": "tem_o4LBTt4NQyX8K4vC9dPafR", + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "otp_verify", + "disabled": false, + "created_at": "2025-12-09T12:26:30.547Z", + "updated_at": "2025-12-16T10:11:50.208Z", + "content": { + "syntax": "liquid", + "body": { + "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}", + "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" + } + } + }, { "id": "tem_xqbUSF83fpnRv8r8rqXFDZ", "tenant": "auth0-deploy-cli-e2e", @@ -16404,7 +15958,7 @@ "type": "change_password", "disabled": false, "created_at": "2025-12-09T12:26:20.243Z", - "updated_at": "2025-12-16T08:58:36.831Z", + "updated_at": "2025-12-16T10:11:50.047Z", "content": { "syntax": "liquid", "body": { @@ -16420,7 +15974,7 @@ "type": "blocked_account", "disabled": false, "created_at": "2025-12-09T12:22:47.683Z", - "updated_at": "2025-12-16T08:58:36.736Z", + "updated_at": "2025-12-16T10:11:50.118Z", "content": { "syntax": "liquid", "body": { @@ -16430,22 +15984,6 @@ "from": "0032232323" } }, - { - "id": "tem_o4LBTt4NQyX8K4vC9dPafR", - "tenant": "auth0-deploy-cli-e2e", - "channel": "phone", - "type": "otp_verify", - "disabled": false, - "created_at": "2025-12-09T12:26:30.547Z", - "updated_at": "2025-12-16T08:58:37.073Z", - "content": { - "syntax": "liquid", - "body": { - "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}", - "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" - } - } - }, { "id": "tem_qarYST5TTE5pbMNB5NHZAj", "tenant": "auth0-deploy-cli-e2e", @@ -16453,7 +15991,7 @@ "type": "otp_enroll", "disabled": false, "created_at": "2025-12-09T12:26:25.327Z", - "updated_at": "2025-12-16T08:58:36.804Z", + "updated_at": "2025-12-16T10:11:50.397Z", "content": { "syntax": "liquid", "body": { @@ -16555,7 +16093,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login/custom-text/en", + "path": "/api/v2/prompts/login-id/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16565,7 +16103,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/custom-text/en", + "path": "/api/v2/prompts/login/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16585,7 +16123,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-passwordless/custom-text/en", + "path": "/api/v2/prompts/login-email-verification/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16595,7 +16133,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup/custom-text/en", + "path": "/api/v2/prompts/login-passwordless/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16605,7 +16143,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-email-verification/custom-text/en", + "path": "/api/v2/prompts/signup/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16665,7 +16203,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/custom-form/custom-text/en", + "path": "/api/v2/prompts/reset-password/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16675,7 +16213,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/reset-password/custom-text/en", + "path": "/api/v2/prompts/custom-form/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16755,7 +16293,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-email/custom-text/en", + "path": "/api/v2/prompts/mfa-webauthn/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16765,7 +16303,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-webauthn/custom-text/en", + "path": "/api/v2/prompts/mfa-sms/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16805,7 +16343,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/device-flow/custom-text/en", + "path": "/api/v2/prompts/status/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16815,7 +16353,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/status/custom-text/en", + "path": "/api/v2/prompts/device-flow/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16835,7 +16373,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/organizations/custom-text/en", + "path": "/api/v2/prompts/email-otp-challenge/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16845,7 +16383,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/email-otp-challenge/custom-text/en", + "path": "/api/v2/prompts/organizations/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16855,7 +16393,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/common/custom-text/en", + "path": "/api/v2/prompts/invitation/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16865,7 +16403,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/email-otp-challenge/custom-text/en", + "path": "/api/v2/prompts/common/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16902,16 +16440,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/prompts/login/partials", - "body": "", - "status": 200, - "response": {}, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -16925,7 +16453,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login/partials", + "path": "/api/v2/prompts/login-password/partials", "body": "", "status": 200, "response": {}, @@ -16935,7 +16463,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-passwordless/partials", + "path": "/api/v2/prompts/login/partials", "body": "", "status": 200, "response": {}, @@ -17023,7 +16551,6 @@ "version": "v3", "status": "CURRENT", "runtimes": [ - "node12", "node18-actions", "node22" ], @@ -17049,24 +16576,24 @@ }, { "id": "credentials-exchange", - "version": "v2", - "status": "CURRENT", + "version": "v1", + "status": "DEPRECATED", "runtimes": [ - "node18-actions", - "node22" + "node12" ], - "default_runtime": "node22", + "default_runtime": "node12", "binding_policy": "trigger-bound", "compatible_triggers": [] }, { - "id": "pre-user-registration", - "version": "v1", - "status": "DEPRECATED", + "id": "credentials-exchange", + "version": "v2", + "status": "CURRENT", "runtimes": [ - "node12" + "node18-actions", + "node22" ], - "default_runtime": "node12", + "default_runtime": "node22", "binding_policy": "trigger-bound", "compatible_triggers": [] }, @@ -17075,6 +16602,7 @@ "version": "v2", "status": "CURRENT", "runtimes": [ + "node12", "node18-actions", "node22" ], @@ -17122,7 +16650,6 @@ "version": "v2", "status": "CURRENT", "runtimes": [ - "node12", "node18-actions", "node22" ], @@ -17491,7 +17018,7 @@ "subject": "deprecated" } ], - "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", + "client_id": "hI21z2wyWVzGpNi9K13c9dHvf5pCxqWe", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -17572,6 +17099,25 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/attack-protection/brute-force-protection", + "body": "", + "status": 200, + "response": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 10 + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -17603,6 +17149,23 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/attack-protection/bot-detection", + "body": "", + "status": 200, + "response": { + "challenge_password_policy": "never", + "challenge_passwordless_policy": "never", + "challenge_password_reset_policy": "never", + "allowlist": [], + "bot_detection_level": "medium", + "monitoring_mode_enabled": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -17638,23 +17201,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/attack-protection/bot-detection", - "body": "", - "status": 200, - "response": { - "challenge_password_policy": "never", - "challenge_passwordless_policy": "never", - "challenge_password_reset_policy": "never", - "allowlist": [], - "bot_detection_level": "medium", - "monitoring_mode_enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -17693,22 +17239,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, - "total": 1, - "forms": [ - { - "id": "ap_6JUSCU7qq1CravnoU6d6jr", - "name": "Blank-form", - "flow_count": 0, - "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-16T09:02:21.881Z" - } - ] + "total": 0, + "flows": [] }, "rawHeaders": [], "responseIsBinary": false @@ -17716,14 +17254,22 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, - "total": 0, - "flows": [] + "total": 1, + "forms": [ + { + "id": "ap_6JUSCU7qq1CravnoU6d6jr", + "name": "Blank-form", + "flow_count": 0, + "created_at": "2024-11-26T11:58:18.187Z", + "updated_at": "2025-12-16T10:15:18.070Z" + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -17792,7 +17338,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-16T09:02:21.881Z" + "updated_at": "2025-12-16T10:15:18.070Z" }, "rawHeaders": [], "responseIsBinary": false @@ -17901,7 +17447,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-16T09:02:11.327Z", + "updated_at": "2025-12-16T10:15:07.545Z", "branding": { "colors": { "primary": "#19aecc" @@ -17953,7 +17499,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-16T09:01:55.451Z", + "updated_at": "2025-12-16T10:14:53.158Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] @@ -18042,29 +17588,5 @@ }, "rawHeaders": [], "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connection-profiles?take=10", - "body": "", - "status": 200, - "response": { - "connection_profiles": [] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connection-profiles?take=10", - "body": "", - "status": 200, - "response": { - "connection_profiles": [] - }, - "rawHeaders": [], - "responseIsBinary": false } -] +] \ No newline at end of file diff --git a/test/e2e/recordings/should-deploy-without-deleting-resources-if-AUTH0_ALLOW_DELETE-is-false.json b/test/e2e/recordings/should-deploy-without-deleting-resources-if-AUTH0_ALLOW_DELETE-is-false.json index bab831b08..6381f7f17 100644 --- a/test/e2e/recordings/should-deploy-without-deleting-resources-if-AUTH0_ALLOW_DELETE-is-false.json +++ b/test/e2e/recordings/should-deploy-without-deleting-resources-if-AUTH0_ALLOW_DELETE-is-false.json @@ -1303,7 +1303,7 @@ "subject": "deprecated" } ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1329,12 +1329,11 @@ "method": "POST", "path": "/api/v2/clients", "body": { - "name": "API Explorer Application", - "allowed_clients": [], + "name": "Quickstarts API (Test Application)", "app_type": "non_interactive", - "callbacks": [], - "client_aliases": [], - "client_metadata": {}, + "client_metadata": { + "foo": "bar" + }, "custom_login_page_on": true, "grant_types": [ "client_credentials" @@ -1346,14 +1345,6 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -1373,19 +1364,11 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" }, + "is_first_party": true, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -1408,7 +1391,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", + "client_id": "HC5UXDFP5lEc2vbTkPQWJ1yYeiLRkmDg", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1416,7 +1399,6 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", "app_type": "non_interactive", "grant_types": [ @@ -1519,7 +1501,7 @@ } ], "allowed_origins": [], - "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "client_id": "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1547,11 +1529,12 @@ "method": "POST", "path": "/api/v2/clients", "body": { - "name": "Quickstarts API (Test Application)", + "name": "API Explorer Application", + "allowed_clients": [], "app_type": "non_interactive", - "client_metadata": { - "foo": "bar" - }, + "callbacks": [], + "client_aliases": [], + "client_metadata": {}, "custom_login_page_on": true, "grant_types": [ "client_credentials" @@ -1563,6 +1546,14 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -1582,11 +1573,19 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -1609,7 +1608,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", + "client_id": "0ltKN06qv5WnNoNz2Fu6QvyOl2o6K6nE", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1617,6 +1616,7 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", "app_type": "non_interactive", "grant_types": [ @@ -1632,11 +1632,16 @@ "method": "POST", "path": "/api/v2/clients", "body": { - "name": "API Explorer Application", + "name": "The Default App", "allowed_clients": [], - "app_type": "non_interactive", + "callbacks": [], + "client_aliases": [], + "client_metadata": {}, "custom_login_page_on": true, "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], "is_first_party": true, @@ -1654,16 +1659,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "token_endpoint_auth_method": "client_secret_post", "cross_origin_authentication": false @@ -1673,7 +1679,10 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", + "name": "The Default App", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, "native_social_login": { "apple": { @@ -1683,16 +1692,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "cross_origin_auth": false, @@ -1705,7 +1715,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "client_id": "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1715,8 +1725,10 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -1729,22 +1741,11 @@ "method": "POST", "path": "/api/v2/clients", "body": { - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "app_type": "spa", - "callbacks": [ - "http://localhost:3000" - ], - "client_aliases": [], - "client_metadata": {}, + "name": "Terraform Provider", + "app_type": "non_interactive", "custom_login_page_on": true, "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" + "client_credentials" ], "is_first_party": true, "is_token_endpoint_ip_header_trusted": false, @@ -1753,29 +1754,18 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" }, "sso_disabled": false, - "token_endpoint_auth_method": "none", - "web_origins": [ - "http://localhost:3000" - ], + "token_endpoint_auth_method": "client_secret_post", "cross_origin_authentication": false }, "status": 201, @@ -1783,33 +1773,17 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, + "name": "Terraform Provider", "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" }, "sso_disabled": false, "cross_origin_authentication": false, @@ -1823,7 +1797,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", + "client_id": "GH55Wtak9aTrj6tjRFObq1cqnu5a8mtM", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1831,16 +1805,10 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "client_credentials" ], "custom_login_page_on": true }, @@ -1852,17 +1820,22 @@ "method": "POST", "path": "/api/v2/clients", "body": { - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "app_type": "spa", + "callbacks": [ + "http://localhost:3000" + ], "client_aliases": [], "client_metadata": {}, "custom_login_page_on": true, "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" ], "is_first_party": true, "is_token_endpoint_ip_header_trusted": false, @@ -1879,19 +1852,21 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "web_origins": [ + "http://localhost:3000" + ], "cross_origin_authentication": false }, "status": 201, @@ -1899,9 +1874,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "is_first_party": true, "native_social_login": { @@ -1912,17 +1892,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "cross_origin_auth": false, @@ -1935,7 +1914,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "client_id": "68Ty4a89yPogS0UGdX8aYaS6td9DXYjs", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1944,12 +1923,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -2040,7 +2022,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2062,7 +2044,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/duo", + "path": "/api/v2/guardian/factors/email", "body": { "enabled": false }, @@ -2090,7 +2072,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/email", + "path": "/api/v2/guardian/factors/duo", "body": { "enabled": false }, @@ -2104,7 +2086,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", + "path": "/api/v2/guardian/factors/webauthn-platform", "body": { "enabled": false }, @@ -2118,21 +2100,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/push-notification", - "body": { - "enabled": true - }, - "status": 200, - "response": { - "enabled": true - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/recovery-code", "body": { "enabled": false }, @@ -2146,7 +2114,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/duo", + "path": "/api/v2/guardian/factors/webauthn-roaming", "body": { "enabled": false }, @@ -2160,13 +2128,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/recovery-code", + "path": "/api/v2/guardian/factors/push-notification", "body": { - "enabled": false + "enabled": true }, "status": 200, "response": { - "enabled": false + "enabled": true }, "rawHeaders": [], "responseIsBinary": false @@ -2174,7 +2142,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/recovery-code", + "path": "/api/v2/guardian/factors/sms", "body": { "enabled": false }, @@ -2252,7 +2220,7 @@ "response": { "actions": [ { - "id": "2b25f34b-cc41-4b78-8eb0-861be0f30f1d", + "id": "ead7d2a3-5a93-43e2-9ec3-455f3c39daf9", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -2260,34 +2228,34 @@ "version": "v1" } ], - "created_at": "2025-12-16T08:57:07.885769307Z", - "updated_at": "2025-12-16T08:58:22.911650706Z", + "created_at": "2025-12-16T10:10:30.752146844Z", + "updated_at": "2025-12-16T10:11:36.910288525Z", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], "runtime": "node22", "status": "built", "secrets": [], "current_version": { - "id": "77a70d48-694c-4055-becb-b10b99ee73f4", + "id": "83a87aec-f6f7-42bb-b6ad-6fa170f652d1", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "runtime": "node22", "status": "BUILT", "number": 2, - "build_time": "2025-12-16T08:58:23.733386236Z", - "created_at": "2025-12-16T08:58:23.642622798Z", - "updated_at": "2025-12-16T08:58:23.734859050Z" + "build_time": "2025-12-16T10:11:37.710742601Z", + "created_at": "2025-12-16T10:11:37.627490560Z", + "updated_at": "2025-12-16T10:11:37.712144713Z" }, "deployed_version": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "77a70d48-694c-4055-becb-b10b99ee73f4", + "id": "83a87aec-f6f7-42bb-b6ad-6fa170f652d1", "deployed": true, "number": 2, - "built_at": "2025-12-16T08:58:23.733386236Z", + "built_at": "2025-12-16T10:11:37.710742601Z", "secrets": [], "status": "built", - "created_at": "2025-12-16T08:58:23.642622798Z", - "updated_at": "2025-12-16T08:58:23.734859050Z", + "created_at": "2025-12-16T10:11:37.627490560Z", + "updated_at": "2025-12-16T10:11:37.712144713Z", "runtime": "node22", "supported_triggers": [ { @@ -2324,7 +2292,7 @@ }, "status": 201, "response": { - "id": "13228a5d-a06b-4e51-89aa-45b56efde856", + "id": "9cc78117-5697-42a8-9c1f-03bf8e5a3689", "name": "My Custom Action", "supported_triggers": [ { @@ -2332,8 +2300,8 @@ "version": "v2" } ], - "created_at": "2025-12-16T08:59:08.956810259Z", - "updated_at": "2025-12-16T08:59:08.967618945Z", + "created_at": "2025-12-16T10:12:49.378691946Z", + "updated_at": "2025-12-16T10:12:49.386633985Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", @@ -2353,7 +2321,7 @@ "response": { "actions": [ { - "id": "2b25f34b-cc41-4b78-8eb0-861be0f30f1d", + "id": "ead7d2a3-5a93-43e2-9ec3-455f3c39daf9", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -2361,34 +2329,34 @@ "version": "v1" } ], - "created_at": "2025-12-16T08:57:07.885769307Z", - "updated_at": "2025-12-16T08:58:22.911650706Z", + "created_at": "2025-12-16T10:10:30.752146844Z", + "updated_at": "2025-12-16T10:11:36.910288525Z", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], "runtime": "node22", "status": "built", "secrets": [], "current_version": { - "id": "77a70d48-694c-4055-becb-b10b99ee73f4", + "id": "83a87aec-f6f7-42bb-b6ad-6fa170f652d1", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "runtime": "node22", "status": "BUILT", "number": 2, - "build_time": "2025-12-16T08:58:23.733386236Z", - "created_at": "2025-12-16T08:58:23.642622798Z", - "updated_at": "2025-12-16T08:58:23.734859050Z" + "build_time": "2025-12-16T10:11:37.710742601Z", + "created_at": "2025-12-16T10:11:37.627490560Z", + "updated_at": "2025-12-16T10:11:37.712144713Z" }, "deployed_version": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "77a70d48-694c-4055-becb-b10b99ee73f4", + "id": "83a87aec-f6f7-42bb-b6ad-6fa170f652d1", "deployed": true, "number": 2, - "built_at": "2025-12-16T08:58:23.733386236Z", + "built_at": "2025-12-16T10:11:37.710742601Z", "secrets": [], "status": "built", - "created_at": "2025-12-16T08:58:23.642622798Z", - "updated_at": "2025-12-16T08:58:23.734859050Z", + "created_at": "2025-12-16T10:11:37.627490560Z", + "updated_at": "2025-12-16T10:11:37.712144713Z", "runtime": "node22", "supported_triggers": [ { @@ -2400,7 +2368,7 @@ "all_changes_deployed": true }, { - "id": "13228a5d-a06b-4e51-89aa-45b56efde856", + "id": "9cc78117-5697-42a8-9c1f-03bf8e5a3689", "name": "My Custom Action", "supported_triggers": [ { @@ -2408,8 +2376,8 @@ "version": "v2" } ], - "created_at": "2025-12-16T08:59:08.956810259Z", - "updated_at": "2025-12-16T08:59:08.967618945Z", + "created_at": "2025-12-16T10:12:49.378691946Z", + "updated_at": "2025-12-16T10:12:49.386633985Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", @@ -2427,19 +2395,19 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "POST", - "path": "/api/v2/actions/actions/13228a5d-a06b-4e51-89aa-45b56efde856/deploy", + "path": "/api/v2/actions/actions/9cc78117-5697-42a8-9c1f-03bf8e5a3689/deploy", "body": "", "status": 200, "response": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "22e4811c-46a6-4d67-8fb0-ad94a4289752", + "id": "9f712c5b-390c-46d5-92f1-899d62f0e892", "deployed": false, "number": 1, "secrets": [], "status": "built", - "created_at": "2025-12-16T08:59:09.734430679Z", - "updated_at": "2025-12-16T08:59:09.734430679Z", + "created_at": "2025-12-16T10:12:50.209634926Z", + "updated_at": "2025-12-16T10:12:50.209634926Z", "runtime": "node18", "supported_triggers": [ { @@ -2448,7 +2416,7 @@ } ], "action": { - "id": "13228a5d-a06b-4e51-89aa-45b56efde856", + "id": "9cc78117-5697-42a8-9c1f-03bf8e5a3689", "name": "My Custom Action", "supported_triggers": [ { @@ -2456,14 +2424,42 @@ "version": "v2" } ], - "created_at": "2025-12-16T08:59:08.956810259Z", - "updated_at": "2025-12-16T08:59:08.956810259Z", + "created_at": "2025-12-16T10:12:49.378691946Z", + "updated_at": "2025-12-16T10:12:49.378691946Z", "all_changes_deployed": false } }, "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/brute-force-protection", + "body": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 66 + }, + "status": 200, + "response": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 66 + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -2542,34 +2538,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/brute-force-protection", - "body": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 66 - }, - "status": 200, - "response": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 66 - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -2597,7 +2565,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-16T08:58:25.157Z", + "updated_at": "2025-12-16T10:11:39.157Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] @@ -2642,7 +2610,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-16T08:59:10.887Z", + "updated_at": "2025-12-16T10:12:51.416Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" }, "rawHeaders": [], @@ -2706,9 +2674,9 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/user-attribute-profiles/uap_1csDj3szFsgxGS1oTZTdFm", + "path": "/api/v2/user-attribute-profiles/uap_1csDj3sAVu6n5eTzLw6XZg", "body": { - "name": "test-user-attribute-profile-2", + "name": "test-user-attribute-profile", "user_attributes": { "email": { "description": "Email of the User", @@ -2724,8 +2692,8 @@ }, "status": 200, "response": { - "id": "uap_1csDj3szFsgxGS1oTZTdFm", - "name": "test-user-attribute-profile-2", + "id": "uap_1csDj3sAVu6n5eTzLw6XZg", + "name": "test-user-attribute-profile", "user_id": { "oidc_mapping": "sub", "saml_mapping": [ @@ -2750,9 +2718,9 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/user-attribute-profiles/uap_1csDj3sAVu6n5eTzLw6XZg", + "path": "/api/v2/user-attribute-profiles/uap_1csDj3szFsgxGS1oTZTdFm", "body": { - "name": "test-user-attribute-profile", + "name": "test-user-attribute-profile-2", "user_attributes": { "email": { "description": "Email of the User", @@ -2768,8 +2736,8 @@ }, "status": 200, "response": { - "id": "uap_1csDj3sAVu6n5eTzLw6XZg", - "name": "test-user-attribute-profile", + "id": "uap_1csDj3szFsgxGS1oTZTdFm", + "name": "test-user-attribute-profile-2", "user_id": { "oidc_mapping": "sub", "saml_mapping": [ @@ -2884,7 +2852,7 @@ "subject": "deprecated" } ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2937,62 +2905,7 @@ "subject": "deprecated" } ], - "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "allowed_origins": [], - "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "client_id": "0ltKN06qv5WnNoNz2Fu6QvyOl2o6K6nE", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3002,14 +2915,10 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { @@ -3041,7 +2950,7 @@ "subject": "deprecated" } ], - "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", + "client_id": "HC5UXDFP5lEc2vbTkPQWJ1yYeiLRkmDg", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3060,8 +2969,20 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -3082,7 +3003,8 @@ "subject": "deprecated" } ], - "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "allowed_origins": [], + "client_id": "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3090,44 +3012,33 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, + "name": "Terraform Provider", "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" }, "sso_disabled": false, "cross_origin_authentication": false, @@ -3139,7 +3050,7 @@ "subject": "deprecated" } ], - "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", + "client_id": "GH55Wtak9aTrj6tjRFObq1cqnu5a8mtM", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3147,16 +3058,10 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "client_credentials" ], "custom_login_page_on": true }, @@ -3198,7 +3103,7 @@ "subject": "deprecated" } ], - "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "client_id": "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3220,9 +3125,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "is_first_party": true, "native_social_login": { @@ -3235,13 +3145,13 @@ }, "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, "sso_disabled": false, "cross_origin_authentication": false, @@ -3253,7 +3163,7 @@ "subject": "deprecated" } ], - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", + "client_id": "68Ty4a89yPogS0UGdX8aYaS6td9DXYjs", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3262,10 +3172,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ - "client_credentials" + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -3273,7 +3188,7 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], "client_metadata": {}, @@ -3286,17 +3201,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "cross_origin_auth": false, @@ -3307,7 +3221,7 @@ "subject": "deprecated" } ], - "client_id": "xYOv2UsoAuKptIEAjkeB62Oaeg1Jn2QX", + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3317,10 +3231,8 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -3376,7 +3288,7 @@ "response": { "connections": [ { - "id": "con_itdctyRSC3HQmlX0", + "id": "con_3R2lX4rln4ArocW5", "options": { "mfa": { "active": true, @@ -3413,8 +3325,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" ] } ] @@ -3431,7 +3343,7 @@ "response": { "connections": [ { - "id": "con_itdctyRSC3HQmlX0", + "id": "con_3R2lX4rln4ArocW5", "options": { "mfa": { "active": true, @@ -3468,8 +3380,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" ] } ] @@ -3480,13 +3392,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients?take=50", + "path": "/api/v2/connections/con_3R2lX4rln4ArocW5/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -3499,13 +3411,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients?take=50", + "path": "/api/v2/connections/con_3R2lX4rln4ArocW5/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -3523,8 +3435,8 @@ "name": "boo-baz-db-connection-test", "strategy": "auth0", "enabled_clients": [ - "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", - "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv", + "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU" ], "is_domain_connection": false, "options": { @@ -3568,7 +3480,7 @@ }, "status": 201, "response": { - "id": "con_cls5o7ko4UNCAbi5", + "id": "con_cxSOS7uLgPojtLBh", "options": { "mfa": { "active": true, @@ -3628,8 +3540,8 @@ "active": false }, "enabled_clients": [ - "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", - "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", + "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv" ], "realms": [ "boo-baz-db-connection-test" @@ -3647,7 +3559,7 @@ "response": { "connections": [ { - "id": "con_cls5o7ko4UNCAbi5", + "id": "con_cxSOS7uLgPojtLBh", "options": { "mfa": { "active": true, @@ -3710,8 +3622,8 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", - "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", + "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv" ] } ] @@ -3722,14 +3634,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_cls5o7ko4UNCAbi5/clients", + "path": "/api/v2/connections/con_cxSOS7uLgPojtLBh/clients", "body": [ { - "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "client_id": "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv", "status": true }, { - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", "status": true } ], @@ -3831,7 +3743,7 @@ "subject": "deprecated" } ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3884,7 +3796,7 @@ "subject": "deprecated" } ], - "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", + "client_id": "0ltKN06qv5WnNoNz2Fu6QvyOl2o6K6nE", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3904,20 +3816,11 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" }, + "is_first_party": true, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -3938,8 +3841,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "client_id": "HC5UXDFP5lEc2vbTkPQWJ1yYeiLRkmDg", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3947,27 +3849,31 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -3988,7 +3894,8 @@ "subject": "deprecated" } ], - "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", + "allowed_origins": [], + "client_id": "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3996,11 +3903,16 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { @@ -4029,7 +3941,7 @@ "subject": "deprecated" } ], - "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "client_id": "GH55Wtak9aTrj6tjRFObq1cqnu5a8mtM", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4044,69 +3956,6 @@ ], "custom_login_page_on": true }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true - }, { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -4145,7 +3994,7 @@ "subject": "deprecated" } ], - "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "client_id": "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4167,9 +4016,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "is_first_party": true, "native_social_login": { @@ -4182,13 +4036,13 @@ }, "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, "sso_disabled": false, "cross_origin_authentication": false, @@ -4200,7 +4054,7 @@ "subject": "deprecated" } ], - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", + "client_id": "68Ty4a89yPogS0UGdX8aYaS6td9DXYjs", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4209,10 +4063,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ - "client_credentials" + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -4220,7 +4079,7 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], "client_metadata": {}, @@ -4233,17 +4092,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "cross_origin_auth": false, @@ -4254,7 +4112,7 @@ "subject": "deprecated" } ], - "client_id": "xYOv2UsoAuKptIEAjkeB62Oaeg1Jn2QX", + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4264,10 +4122,8 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -4323,7 +4179,7 @@ "response": { "connections": [ { - "id": "con_cls5o7ko4UNCAbi5", + "id": "con_cxSOS7uLgPojtLBh", "options": { "mfa": { "active": true, @@ -4386,12 +4242,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", - "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", + "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv" ] }, { - "id": "con_mNzsGFqGTiRm8ck6", + "id": "con_lfhXlIY73LFJlMks", "options": { "email": true, "scope": [ @@ -4414,11 +4270,11 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" ] }, { - "id": "con_itdctyRSC3HQmlX0", + "id": "con_3R2lX4rln4ArocW5", "options": { "mfa": { "active": true, @@ -4455,8 +4311,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" ] } ] @@ -4473,7 +4329,7 @@ "response": { "connections": [ { - "id": "con_cls5o7ko4UNCAbi5", + "id": "con_cxSOS7uLgPojtLBh", "options": { "mfa": { "active": true, @@ -4536,12 +4392,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", - "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", + "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv" ] }, { - "id": "con_mNzsGFqGTiRm8ck6", + "id": "con_lfhXlIY73LFJlMks", "options": { "email": true, "scope": [ @@ -4564,11 +4420,11 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" ] }, { - "id": "con_itdctyRSC3HQmlX0", + "id": "con_3R2lX4rln4ArocW5", "options": { "mfa": { "active": true, @@ -4605,8 +4461,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" ] } ] @@ -4617,13 +4473,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6/clients?take=50", + "path": "/api/v2/connections/con_lfhXlIY73LFJlMks/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -4636,13 +4492,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6/clients?take=50", + "path": "/api/v2/connections/con_lfhXlIY73LFJlMks/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -4655,13 +4511,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6", + "path": "/api/v2/connections/con_lfhXlIY73LFJlMks", "body": { - "name": "google-oauth2", - "strategy": "google-oauth2", "enabled_clients": [ - "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", - "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", + "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU" ], "is_domain_connection": false, "options": { @@ -4673,9 +4527,9 @@ "profile": true } }, - "status": 201, + "status": 200, "response": { - "id": "con_mNzsGFqGTiRm8ck6", + "id": "con_lfhXlIY73LFJlMks", "options": { "email": true, "scope": [ @@ -4694,8 +4548,8 @@ "active": false }, "enabled_clients": [ - "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", - "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", + "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU" ], "realms": [ "google-oauth2" @@ -4704,57 +4558,17 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=1&name=google-oauth2", - "body": "", - "status": 200, - "response": { - "connections": [ - { - "id": "con_URfc5OIXMzEJtZaz", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "google-oauth2" - ], - "enabled_clients": [ - "gGel1LbswqDqdnqQ39oHycLldkhJZ8c1", - "xYOv2UsoAuKptIEAjkeB62Oaeg1Jn2QX" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6/clients", + "path": "/api/v2/connections/con_lfhXlIY73LFJlMks/clients", "body": [ { - "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "client_id": "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", "status": true }, { - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", "status": true } ], @@ -4893,7 +4707,7 @@ "subject": "deprecated" } ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4946,7 +4760,7 @@ "subject": "deprecated" } ], - "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", + "client_id": "0ltKN06qv5WnNoNz2Fu6QvyOl2o6K6nE", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4966,20 +4780,11 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" }, + "is_first_party": true, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -5000,8 +4805,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "client_id": "HC5UXDFP5lEc2vbTkPQWJ1yYeiLRkmDg", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5009,27 +4813,31 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -5050,7 +4858,8 @@ "subject": "deprecated" } ], - "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", + "allowed_origins": [], + "client_id": "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5058,11 +4867,16 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { @@ -5091,7 +4905,7 @@ "subject": "deprecated" } ], - "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "client_id": "GH55Wtak9aTrj6tjRFObq1cqnu5a8mtM", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5106,69 +4920,6 @@ ], "custom_login_page_on": true }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true - }, { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -5207,7 +4958,7 @@ "subject": "deprecated" } ], - "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "client_id": "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5229,9 +4980,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "is_first_party": true, "native_social_login": { @@ -5244,13 +5000,13 @@ }, "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, "sso_disabled": false, "cross_origin_authentication": false, @@ -5262,7 +5018,7 @@ "subject": "deprecated" } ], - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", + "client_id": "68Ty4a89yPogS0UGdX8aYaS6td9DXYjs", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5271,10 +5027,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ - "client_credentials" + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -5282,7 +5043,7 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], "client_metadata": {}, @@ -5295,17 +5056,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "cross_origin_auth": false, @@ -5316,7 +5076,7 @@ "subject": "deprecated" } ], - "client_id": "xYOv2UsoAuKptIEAjkeB62Oaeg1Jn2QX", + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5326,10 +5086,8 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -5629,7 +5387,7 @@ "method": "POST", "path": "/api/v2/client-grants", "body": { - "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", + "client_id": "0ltKN06qv5WnNoNz2Fu6QvyOl2o6K6nE", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -5766,8 +5524,8 @@ }, "status": 201, "response": { - "id": "cgr_eG5gEZKTl5i0JlGq", - "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", + "id": "cgr_UQhGxDPGii0tSQcs", + "client_id": "0ltKN06qv5WnNoNz2Fu6QvyOl2o6K6nE", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -5911,7 +5669,7 @@ "method": "POST", "path": "/api/v2/client-grants", "body": { - "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "client_id": "GH55Wtak9aTrj6tjRFObq1cqnu5a8mtM", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -6048,8 +5806,8 @@ }, "status": 201, "response": { - "id": "cgr_S6EVifP1ifjC9uVQ", - "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "id": "cgr_S92D2BBPB2wQXFYC", + "client_id": "GH55Wtak9aTrj6tjRFObq1cqnu5a8mtM", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -6208,14 +5966,14 @@ "method": "POST", "path": "/api/v2/roles", "body": { - "name": "Admin", - "description": "Can read and write things" + "name": "Reader", + "description": "Can only read things" }, "status": 200, "response": { - "id": "rol_HL6iYQ8aOmwIQR4Z", - "name": "Admin", - "description": "Can read and write things" + "id": "rol_DW7eDROpAD03JEhC", + "name": "Reader", + "description": "Can only read things" }, "rawHeaders": [], "responseIsBinary": false @@ -6225,14 +5983,14 @@ "method": "POST", "path": "/api/v2/roles", "body": { - "name": "Reader", - "description": "Can only read things" + "name": "read_only", + "description": "Read Only" }, "status": 200, "response": { - "id": "rol_6MeXScuszPY3FHmj", - "name": "Reader", - "description": "Can only read things" + "id": "rol_TDHVhZp26Ti7nQt2", + "name": "read_only", + "description": "Read Only" }, "rawHeaders": [], "responseIsBinary": false @@ -6242,14 +6000,14 @@ "method": "POST", "path": "/api/v2/roles", "body": { - "name": "read_only", - "description": "Read Only" + "name": "Admin", + "description": "Can read and write things" }, "status": 200, "response": { - "id": "rol_FMUfBZQJE8GIpCD3", - "name": "read_only", - "description": "Read Only" + "id": "rol_nvXgdsT2ksrlrQpN", + "name": "Admin", + "description": "Can read and write things" }, "rawHeaders": [], "responseIsBinary": false @@ -6264,7 +6022,7 @@ }, "status": 200, "response": { - "id": "rol_3JfaQfAutCBGuyMm", + "id": "rol_6uNKN3FdNBPgcRFM", "name": "read_osnly", "description": "Readz Only" }, @@ -6300,7 +6058,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-16T08:58:36.015Z", + "updated_at": "2025-12-16T10:11:49.300Z", "branding": { "colors": { "primary": "#19aecc" @@ -6376,7 +6134,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-16T08:59:23.996Z", + "updated_at": "2025-12-16T10:13:05.041Z", "branding": { "colors": { "primary": "#19aecc" @@ -6386,6 +6144,32 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/email-templates/verify_email", + "body": { + "template": "verify_email", + "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", + "enabled": true, + "from": "", + "subject": "", + "syntax": "liquid", + "urlLifetimeInSeconds": 432000 + }, + "status": 200, + "response": { + "template": "verify_email", + "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", + "from": "", + "subject": "", + "syntax": "liquid", + "urlLifetimeInSeconds": 432000, + "enabled": true + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -6414,32 +6198,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/email-templates/verify_email", - "body": { - "template": "verify_email", - "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", - "enabled": true, - "from": "", - "subject": "", - "syntax": "liquid", - "urlLifetimeInSeconds": 432000 - }, - "status": 200, - "response": { - "template": "verify_email", - "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", - "from": "", - "subject": "", - "syntax": "liquid", - "urlLifetimeInSeconds": 432000, - "enabled": true - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -6545,7 +6303,7 @@ "subject": "deprecated" } ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6598,7 +6356,7 @@ "subject": "deprecated" } ], - "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", + "client_id": "0ltKN06qv5WnNoNz2Fu6QvyOl2o6K6nE", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6618,20 +6376,11 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" }, + "is_first_party": true, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -6652,8 +6401,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "client_id": "HC5UXDFP5lEc2vbTkPQWJ1yYeiLRkmDg", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6661,27 +6409,31 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -6702,7 +6454,8 @@ "subject": "deprecated" } ], - "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", + "allowed_origins": [], + "client_id": "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6710,11 +6463,16 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { @@ -6743,7 +6501,7 @@ "subject": "deprecated" } ], - "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "client_id": "GH55Wtak9aTrj6tjRFObq1cqnu5a8mtM", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6758,69 +6516,6 @@ ], "custom_login_page_on": true }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true - }, { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -6859,7 +6554,7 @@ "subject": "deprecated" } ], - "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "client_id": "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6881,9 +6576,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "is_first_party": true, "native_social_login": { @@ -6896,13 +6596,13 @@ }, "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, "sso_disabled": false, "cross_origin_authentication": false, @@ -6914,7 +6614,7 @@ "subject": "deprecated" } ], - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", + "client_id": "68Ty4a89yPogS0UGdX8aYaS6td9DXYjs", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6923,10 +6623,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ - "client_credentials" + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -6934,7 +6639,7 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], "client_metadata": {}, @@ -6947,17 +6652,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "cross_origin_auth": false, @@ -6968,7 +6672,7 @@ "subject": "deprecated" } ], - "client_id": "xYOv2UsoAuKptIEAjkeB62Oaeg1Jn2QX", + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6978,10 +6682,8 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -7037,7 +6739,7 @@ "response": { "connections": [ { - "id": "con_cls5o7ko4UNCAbi5", + "id": "con_cxSOS7uLgPojtLBh", "options": { "mfa": { "active": true, @@ -7100,12 +6802,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", - "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", + "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv" ] }, { - "id": "con_mNzsGFqGTiRm8ck6", + "id": "con_lfhXlIY73LFJlMks", "options": { "email": true, "scope": [ @@ -7127,12 +6829,12 @@ "google-oauth2" ], "enabled_clients": [ - "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", - "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", + "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU" ] }, { - "id": "con_itdctyRSC3HQmlX0", + "id": "con_3R2lX4rln4ArocW5", "options": { "mfa": { "active": true, @@ -7169,8 +6871,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" ] } ] @@ -7187,8 +6889,8 @@ "response": { "client_grants": [ { - "id": "cgr_S6EVifP1ifjC9uVQ", - "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "id": "cgr_S92D2BBPB2wQXFYC", + "client_id": "GH55Wtak9aTrj6tjRFObq1cqnu5a8mtM", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -7325,8 +7027,8 @@ "subject_type": "client" }, { - "id": "cgr_eG5gEZKTl5i0JlGq", - "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", + "id": "cgr_UQhGxDPGii0tSQcs", + "client_id": "0ltKN06qv5WnNoNz2Fu6QvyOl2o6K6nE", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -7795,7 +7497,7 @@ "subject": "deprecated" } ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7848,7 +7550,7 @@ "subject": "deprecated" } ], - "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", + "client_id": "0ltKN06qv5WnNoNz2Fu6QvyOl2o6K6nE", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7864,65 +7566,6 @@ ], "custom_login_page_on": true }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "allowed_origins": [], - "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "web_origins": [], - "custom_login_page_on": true - }, { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -7952,7 +7595,7 @@ "subject": "deprecated" } ], - "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", + "client_id": "HC5UXDFP5lEc2vbTkPQWJ1yYeiLRkmDg", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7971,8 +7614,20 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -7993,7 +7648,8 @@ "subject": "deprecated" } ], - "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "allowed_origins": [], + "client_id": "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8001,44 +7657,33 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, + "name": "Terraform Provider", "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" }, "sso_disabled": false, "cross_origin_authentication": false, @@ -8050,7 +7695,7 @@ "subject": "deprecated" } ], - "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", + "client_id": "GH55Wtak9aTrj6tjRFObq1cqnu5a8mtM", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8058,16 +7703,10 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "client_credentials" ], "custom_login_page_on": true }, @@ -8109,7 +7748,7 @@ "subject": "deprecated" } ], - "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "client_id": "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8131,9 +7770,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "is_first_party": true, "native_social_login": { @@ -8146,13 +7790,13 @@ }, "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, "sso_disabled": false, "cross_origin_authentication": false, @@ -8164,7 +7808,7 @@ "subject": "deprecated" } ], - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", + "client_id": "68Ty4a89yPogS0UGdX8aYaS6td9DXYjs", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8173,10 +7817,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ - "client_credentials" + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -8184,7 +7833,7 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], "client_metadata": {}, @@ -8197,17 +7846,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "cross_origin_auth": false, @@ -8218,7 +7866,7 @@ "subject": "deprecated" } ], - "client_id": "xYOv2UsoAuKptIEAjkeB62Oaeg1Jn2QX", + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8228,10 +7876,8 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -8288,7 +7934,7 @@ }, "status": 201, "response": { - "id": "org_4ljRqNj9r3hARo3g", + "id": "org_rupfjUkVVvnPPk1y", "display_name": "Organization2", "name": "org2" }, @@ -8311,7 +7957,7 @@ }, "status": 201, "response": { - "id": "org_TiDOQfO5mFtNEm4F", + "id": "org_YQGLuGuqRYrilmSQ", "display_name": "Organization", "name": "org1", "branding": { @@ -8348,7 +7994,7 @@ }, "status": 200, "response": { - "id": "lst_0000000000025595", + "id": "lst_0000000000025597", "name": "Suspended DD Log Stream", "type": "datadog", "status": "active", @@ -8413,14 +8059,14 @@ }, "status": 200, "response": { - "id": "lst_0000000000025596", + "id": "lst_0000000000025598", "name": "Amazon EventBridge", "type": "eventbridge", "status": "active", "sink": { "awsAccountId": "123456789012", "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-2a1febfb-fae7-4ade-ac00-b462a0a18f30/auth0.logs" + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-7022a134-25ea-40c6-8164-cf25c35ee97d/auth0.logs" }, "filters": [ { @@ -8496,7 +8142,7 @@ "name": "Blank-form", "flow_count": 0, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-16T08:58:46.399Z" + "updated_at": "2025-12-16T10:11:59.715Z" } ] }, @@ -8582,7 +8228,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-16T08:58:46.399Z" + "updated_at": "2025-12-16T10:11:59.715Z" }, "rawHeaders": [], "responseIsBinary": false @@ -8707,7 +8353,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-16T08:59:30.202Z" + "updated_at": "2025-12-16T10:13:11.443Z" }, "rawHeaders": [], "responseIsBinary": false @@ -9933,7 +9579,7 @@ "subject": "deprecated" } ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9986,7 +9632,7 @@ "subject": "deprecated" } ], - "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", + "client_id": "0ltKN06qv5WnNoNz2Fu6QvyOl2o6K6nE", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10006,20 +9652,11 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" }, + "is_first_party": true, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -10040,8 +9677,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "client_id": "HC5UXDFP5lEc2vbTkPQWJ1yYeiLRkmDg", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10049,27 +9685,31 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -10090,7 +9730,8 @@ "subject": "deprecated" } ], - "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", + "allowed_origins": [], + "client_id": "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10098,11 +9739,16 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { @@ -10131,7 +9777,7 @@ "subject": "deprecated" } ], - "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "client_id": "GH55Wtak9aTrj6tjRFObq1cqnu5a8mtM", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10146,69 +9792,6 @@ ], "custom_login_page_on": true }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true - }, { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -10247,7 +9830,7 @@ "subject": "deprecated" } ], - "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "client_id": "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10269,9 +9852,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "is_first_party": true, "native_social_login": { @@ -10284,13 +9872,13 @@ }, "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, "sso_disabled": false, "cross_origin_authentication": false, @@ -10302,7 +9890,7 @@ "subject": "deprecated" } ], - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", + "client_id": "68Ty4a89yPogS0UGdX8aYaS6td9DXYjs", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10311,10 +9899,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ - "client_credentials" + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -10322,7 +9915,7 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], "client_metadata": {}, @@ -10335,17 +9928,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "cross_origin_auth": false, @@ -10356,7 +9948,7 @@ "subject": "deprecated" } ], - "client_id": "xYOv2UsoAuKptIEAjkeB62Oaeg1Jn2QX", + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10366,10 +9958,8 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -10382,7 +9972,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "path": "/api/v2/clients/lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "body": { "name": "Default App", "callbacks": [], @@ -10440,7 +10030,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10476,21 +10066,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/sms", - "body": { - "enabled": false - }, - "status": 200, - "response": { - "enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PUT", - "path": "/api/v2/guardian/factors/push-notification", + "path": "/api/v2/guardian/factors/webauthn-roaming", "body": { "enabled": false }, @@ -10518,7 +10094,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", + "path": "/api/v2/guardian/factors/sms", "body": { "enabled": false }, @@ -10532,7 +10108,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/email", + "path": "/api/v2/guardian/factors/push-notification", "body": { "enabled": false }, @@ -10560,7 +10136,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/recovery-code", + "path": "/api/v2/guardian/factors/email", "body": { "enabled": false }, @@ -10574,7 +10150,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/recovery-code", "body": { "enabled": false }, @@ -10647,7 +10223,7 @@ "response": { "actions": [ { - "id": "2b25f34b-cc41-4b78-8eb0-861be0f30f1d", + "id": "ead7d2a3-5a93-43e2-9ec3-455f3c39daf9", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -10655,34 +10231,34 @@ "version": "v1" } ], - "created_at": "2025-12-16T08:57:07.885769307Z", - "updated_at": "2025-12-16T08:58:22.911650706Z", + "created_at": "2025-12-16T10:10:30.752146844Z", + "updated_at": "2025-12-16T10:11:36.910288525Z", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], "runtime": "node22", "status": "built", "secrets": [], "current_version": { - "id": "77a70d48-694c-4055-becb-b10b99ee73f4", + "id": "83a87aec-f6f7-42bb-b6ad-6fa170f652d1", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "runtime": "node22", "status": "BUILT", "number": 2, - "build_time": "2025-12-16T08:58:23.733386236Z", - "created_at": "2025-12-16T08:58:23.642622798Z", - "updated_at": "2025-12-16T08:58:23.734859050Z" + "build_time": "2025-12-16T10:11:37.710742601Z", + "created_at": "2025-12-16T10:11:37.627490560Z", + "updated_at": "2025-12-16T10:11:37.712144713Z" }, "deployed_version": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "77a70d48-694c-4055-becb-b10b99ee73f4", + "id": "83a87aec-f6f7-42bb-b6ad-6fa170f652d1", "deployed": true, "number": 2, - "built_at": "2025-12-16T08:58:23.733386236Z", + "built_at": "2025-12-16T10:11:37.710742601Z", "secrets": [], "status": "built", - "created_at": "2025-12-16T08:58:23.642622798Z", - "updated_at": "2025-12-16T08:58:23.734859050Z", + "created_at": "2025-12-16T10:11:37.627490560Z", + "updated_at": "2025-12-16T10:11:37.712144713Z", "runtime": "node22", "supported_triggers": [ { @@ -10694,7 +10270,7 @@ "all_changes_deployed": true }, { - "id": "13228a5d-a06b-4e51-89aa-45b56efde856", + "id": "9cc78117-5697-42a8-9c1f-03bf8e5a3689", "name": "My Custom Action", "supported_triggers": [ { @@ -10702,34 +10278,34 @@ "version": "v2" } ], - "created_at": "2025-12-16T08:59:08.956810259Z", - "updated_at": "2025-12-16T08:59:08.967618945Z", + "created_at": "2025-12-16T10:12:49.378691946Z", + "updated_at": "2025-12-16T10:12:49.386633985Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "built", "secrets": [], "current_version": { - "id": "22e4811c-46a6-4d67-8fb0-ad94a4289752", + "id": "9f712c5b-390c-46d5-92f1-899d62f0e892", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node18", "status": "BUILT", "number": 1, - "build_time": "2025-12-16T08:59:09.806979854Z", - "created_at": "2025-12-16T08:59:09.734430679Z", - "updated_at": "2025-12-16T08:59:09.808139988Z" + "build_time": "2025-12-16T10:12:50.304956456Z", + "created_at": "2025-12-16T10:12:50.209634926Z", + "updated_at": "2025-12-16T10:12:50.307080188Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "22e4811c-46a6-4d67-8fb0-ad94a4289752", + "id": "9f712c5b-390c-46d5-92f1-899d62f0e892", "deployed": true, "number": 1, - "built_at": "2025-12-16T08:59:09.806979854Z", + "built_at": "2025-12-16T10:12:50.304956456Z", "secrets": [], "status": "built", - "created_at": "2025-12-16T08:59:09.734430679Z", - "updated_at": "2025-12-16T08:59:09.808139988Z", + "created_at": "2025-12-16T10:12:50.209634926Z", + "updated_at": "2025-12-16T10:12:50.307080188Z", "runtime": "node18", "supported_triggers": [ { @@ -10756,7 +10332,7 @@ "response": { "actions": [ { - "id": "2b25f34b-cc41-4b78-8eb0-861be0f30f1d", + "id": "ead7d2a3-5a93-43e2-9ec3-455f3c39daf9", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -10764,34 +10340,34 @@ "version": "v1" } ], - "created_at": "2025-12-16T08:57:07.885769307Z", - "updated_at": "2025-12-16T08:58:22.911650706Z", + "created_at": "2025-12-16T10:10:30.752146844Z", + "updated_at": "2025-12-16T10:11:36.910288525Z", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], "runtime": "node22", "status": "built", "secrets": [], "current_version": { - "id": "77a70d48-694c-4055-becb-b10b99ee73f4", + "id": "83a87aec-f6f7-42bb-b6ad-6fa170f652d1", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "runtime": "node22", "status": "BUILT", "number": 2, - "build_time": "2025-12-16T08:58:23.733386236Z", - "created_at": "2025-12-16T08:58:23.642622798Z", - "updated_at": "2025-12-16T08:58:23.734859050Z" + "build_time": "2025-12-16T10:11:37.710742601Z", + "created_at": "2025-12-16T10:11:37.627490560Z", + "updated_at": "2025-12-16T10:11:37.712144713Z" }, "deployed_version": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "77a70d48-694c-4055-becb-b10b99ee73f4", + "id": "83a87aec-f6f7-42bb-b6ad-6fa170f652d1", "deployed": true, "number": 2, - "built_at": "2025-12-16T08:58:23.733386236Z", + "built_at": "2025-12-16T10:11:37.710742601Z", "secrets": [], "status": "built", - "created_at": "2025-12-16T08:58:23.642622798Z", - "updated_at": "2025-12-16T08:58:23.734859050Z", + "created_at": "2025-12-16T10:11:37.627490560Z", + "updated_at": "2025-12-16T10:11:37.712144713Z", "runtime": "node22", "supported_triggers": [ { @@ -10803,7 +10379,7 @@ "all_changes_deployed": true }, { - "id": "13228a5d-a06b-4e51-89aa-45b56efde856", + "id": "9cc78117-5697-42a8-9c1f-03bf8e5a3689", "name": "My Custom Action", "supported_triggers": [ { @@ -10811,34 +10387,34 @@ "version": "v2" } ], - "created_at": "2025-12-16T08:59:08.956810259Z", - "updated_at": "2025-12-16T08:59:08.967618945Z", + "created_at": "2025-12-16T10:12:49.378691946Z", + "updated_at": "2025-12-16T10:12:49.386633985Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "built", "secrets": [], "current_version": { - "id": "22e4811c-46a6-4d67-8fb0-ad94a4289752", + "id": "9f712c5b-390c-46d5-92f1-899d62f0e892", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node18", "status": "BUILT", "number": 1, - "build_time": "2025-12-16T08:59:09.806979854Z", - "created_at": "2025-12-16T08:59:09.734430679Z", - "updated_at": "2025-12-16T08:59:09.808139988Z" + "build_time": "2025-12-16T10:12:50.304956456Z", + "created_at": "2025-12-16T10:12:50.209634926Z", + "updated_at": "2025-12-16T10:12:50.307080188Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "22e4811c-46a6-4d67-8fb0-ad94a4289752", + "id": "9f712c5b-390c-46d5-92f1-899d62f0e892", "deployed": true, "number": 1, - "built_at": "2025-12-16T08:59:09.806979854Z", + "built_at": "2025-12-16T10:12:50.304956456Z", "secrets": [], "status": "built", - "created_at": "2025-12-16T08:59:09.734430679Z", - "updated_at": "2025-12-16T08:59:09.808139988Z", + "created_at": "2025-12-16T10:12:50.209634926Z", + "updated_at": "2025-12-16T10:12:50.307080188Z", "runtime": "node18", "supported_triggers": [ { @@ -11053,7 +10629,7 @@ "subject": "deprecated" } ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11106,7 +10682,7 @@ "subject": "deprecated" } ], - "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", + "client_id": "0ltKN06qv5WnNoNz2Fu6QvyOl2o6K6nE", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11126,20 +10702,11 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" }, + "is_first_party": true, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -11160,8 +10727,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "client_id": "HC5UXDFP5lEc2vbTkPQWJ1yYeiLRkmDg", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11169,27 +10735,31 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -11210,7 +10780,8 @@ "subject": "deprecated" } ], - "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", + "allowed_origins": [], + "client_id": "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11218,11 +10789,16 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { @@ -11251,7 +10827,7 @@ "subject": "deprecated" } ], - "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "client_id": "GH55Wtak9aTrj6tjRFObq1cqnu5a8mtM", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11266,69 +10842,6 @@ ], "custom_login_page_on": true }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true - }, { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -11367,7 +10880,7 @@ "subject": "deprecated" } ], - "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "client_id": "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11389,9 +10902,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "is_first_party": true, "native_social_login": { @@ -11404,13 +10922,13 @@ }, "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, "sso_disabled": false, "cross_origin_authentication": false, @@ -11422,7 +10940,7 @@ "subject": "deprecated" } ], - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", + "client_id": "68Ty4a89yPogS0UGdX8aYaS6td9DXYjs", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11431,10 +10949,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ - "client_credentials" + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -11442,7 +10965,7 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], "client_metadata": {}, @@ -11455,17 +10978,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "cross_origin_auth": false, @@ -11476,7 +10998,7 @@ "subject": "deprecated" } ], - "client_id": "xYOv2UsoAuKptIEAjkeB62Oaeg1Jn2QX", + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11486,10 +11008,8 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -11545,7 +11065,7 @@ "response": { "connections": [ { - "id": "con_cls5o7ko4UNCAbi5", + "id": "con_cxSOS7uLgPojtLBh", "options": { "mfa": { "active": true, @@ -11608,12 +11128,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", - "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", + "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv" ] }, { - "id": "con_itdctyRSC3HQmlX0", + "id": "con_3R2lX4rln4ArocW5", "options": { "mfa": { "active": true, @@ -11650,8 +11170,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" ] } ] @@ -11668,7 +11188,7 @@ "response": { "connections": [ { - "id": "con_cls5o7ko4UNCAbi5", + "id": "con_cxSOS7uLgPojtLBh", "options": { "mfa": { "active": true, @@ -11731,12 +11251,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", - "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", + "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv" ] }, { - "id": "con_itdctyRSC3HQmlX0", + "id": "con_3R2lX4rln4ArocW5", "options": { "mfa": { "active": true, @@ -11773,8 +11293,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" ] } ] @@ -11785,16 +11305,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_cls5o7ko4UNCAbi5/clients?take=50", + "path": "/api/v2/connections/con_cxSOS7uLgPojtLBh/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf" + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU" }, { - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "client_id": "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv" } ] }, @@ -11804,13 +11324,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients?take=50", + "path": "/api/v2/connections/con_3R2lX4rln4ArocW5/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -11823,16 +11343,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_cls5o7ko4UNCAbi5/clients?take=50", + "path": "/api/v2/connections/con_3R2lX4rln4ArocW5/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf" + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" }, { - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" } ] }, @@ -11842,16 +11362,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients?take=50", + "path": "/api/v2/connections/con_cxSOS7uLgPojtLBh/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU" }, { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "client_id": "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv" } ] }, @@ -11861,11 +11381,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_itdctyRSC3HQmlX0", + "path": "/api/v2/connections/con_3R2lX4rln4ArocW5", "body": "", "status": 200, "response": { - "id": "con_itdctyRSC3HQmlX0", + "id": "con_3R2lX4rln4ArocW5", "options": { "mfa": { "active": true, @@ -11899,8 +11419,8 @@ "active": false }, "enabled_clients": [ - "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" ], "realms": [ "Username-Password-Authentication" @@ -11912,11 +11432,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_itdctyRSC3HQmlX0", + "path": "/api/v2/connections/con_3R2lX4rln4ArocW5", "body": { "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" ], "is_domain_connection": false, "options": { @@ -11948,7 +11468,7 @@ }, "status": 200, "response": { - "id": "con_itdctyRSC3HQmlX0", + "id": "con_3R2lX4rln4ArocW5", "options": { "mfa": { "active": true, @@ -11983,7 +11503,7 @@ }, "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" ], "realms": [ "Username-Password-Authentication" @@ -11995,14 +11515,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients", + "path": "/api/v2/connections/con_3R2lX4rln4ArocW5/clients", "body": [ { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "status": true }, { - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "status": true } ], @@ -12104,7 +11624,7 @@ "subject": "deprecated" } ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12157,7 +11677,7 @@ "subject": "deprecated" } ], - "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", + "client_id": "0ltKN06qv5WnNoNz2Fu6QvyOl2o6K6nE", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12173,65 +11693,6 @@ ], "custom_login_page_on": true }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "allowed_origins": [], - "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "web_origins": [], - "custom_login_page_on": true - }, { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -12261,7 +11722,7 @@ "subject": "deprecated" } ], - "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", + "client_id": "HC5UXDFP5lEc2vbTkPQWJ1yYeiLRkmDg", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12280,8 +11741,20 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -12302,7 +11775,8 @@ "subject": "deprecated" } ], - "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "allowed_origins": [], + "client_id": "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12310,44 +11784,33 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, + "name": "Terraform Provider", "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" }, "sso_disabled": false, "cross_origin_authentication": false, @@ -12359,7 +11822,7 @@ "subject": "deprecated" } ], - "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", + "client_id": "GH55Wtak9aTrj6tjRFObq1cqnu5a8mtM", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12367,16 +11830,10 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "client_credentials" ], "custom_login_page_on": true }, @@ -12418,7 +11875,7 @@ "subject": "deprecated" } ], - "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "client_id": "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12440,9 +11897,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "is_first_party": true, "native_social_login": { @@ -12455,13 +11917,13 @@ }, "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, "sso_disabled": false, "cross_origin_authentication": false, @@ -12473,7 +11935,7 @@ "subject": "deprecated" } ], - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", + "client_id": "68Ty4a89yPogS0UGdX8aYaS6td9DXYjs", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12482,10 +11944,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ - "client_credentials" + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -12493,7 +11960,7 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], "client_metadata": {}, @@ -12506,17 +11973,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "cross_origin_auth": false, @@ -12527,7 +11993,7 @@ "subject": "deprecated" } ], - "client_id": "xYOv2UsoAuKptIEAjkeB62Oaeg1Jn2QX", + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12537,10 +12003,8 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -12596,7 +12060,7 @@ "response": { "connections": [ { - "id": "con_cls5o7ko4UNCAbi5", + "id": "con_cxSOS7uLgPojtLBh", "options": { "mfa": { "active": true, @@ -12659,12 +12123,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", - "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", + "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv" ] }, { - "id": "con_mNzsGFqGTiRm8ck6", + "id": "con_lfhXlIY73LFJlMks", "options": { "email": true, "scope": [ @@ -12686,12 +12150,12 @@ "google-oauth2" ], "enabled_clients": [ - "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", - "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", + "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU" ] }, { - "id": "con_itdctyRSC3HQmlX0", + "id": "con_3R2lX4rln4ArocW5", "options": { "mfa": { "active": true, @@ -12728,8 +12192,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" ] } ] @@ -12746,7 +12210,7 @@ "response": { "connections": [ { - "id": "con_cls5o7ko4UNCAbi5", + "id": "con_cxSOS7uLgPojtLBh", "options": { "mfa": { "active": true, @@ -12809,12 +12273,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", - "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", + "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv" ] }, { - "id": "con_mNzsGFqGTiRm8ck6", + "id": "con_lfhXlIY73LFJlMks", "options": { "email": true, "scope": [ @@ -12836,12 +12300,12 @@ "google-oauth2" ], "enabled_clients": [ - "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", - "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", + "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU" ] }, { - "id": "con_itdctyRSC3HQmlX0", + "id": "con_3R2lX4rln4ArocW5", "options": { "mfa": { "active": true, @@ -12878,8 +12342,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" ] } ] @@ -12890,16 +12354,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6/clients?take=50", + "path": "/api/v2/connections/con_lfhXlIY73LFJlMks/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l" + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU" }, { - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "client_id": "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF" } ] }, @@ -12909,16 +12373,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6/clients?take=50", + "path": "/api/v2/connections/con_lfhXlIY73LFJlMks/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l" + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU" }, { - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "client_id": "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF" } ] }, @@ -13033,7 +12497,7 @@ "subject": "deprecated" } ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13086,7 +12550,7 @@ "subject": "deprecated" } ], - "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", + "client_id": "0ltKN06qv5WnNoNz2Fu6QvyOl2o6K6nE", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13106,20 +12570,11 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" }, + "is_first_party": true, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -13140,8 +12595,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "client_id": "HC5UXDFP5lEc2vbTkPQWJ1yYeiLRkmDg", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13149,27 +12603,31 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -13190,7 +12648,8 @@ "subject": "deprecated" } ], - "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", + "allowed_origins": [], + "client_id": "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13198,11 +12657,16 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { @@ -13231,7 +12695,7 @@ "subject": "deprecated" } ], - "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "client_id": "GH55Wtak9aTrj6tjRFObq1cqnu5a8mtM", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13246,69 +12710,6 @@ ], "custom_login_page_on": true }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true - }, { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -13347,7 +12748,7 @@ "subject": "deprecated" } ], - "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "client_id": "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13369,9 +12770,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "is_first_party": true, "native_social_login": { @@ -13384,13 +12790,13 @@ }, "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, "sso_disabled": false, "cross_origin_authentication": false, @@ -13402,7 +12808,7 @@ "subject": "deprecated" } ], - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", + "client_id": "68Ty4a89yPogS0UGdX8aYaS6td9DXYjs", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13411,10 +12817,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ - "client_credentials" + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -13422,7 +12833,7 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], "client_metadata": {}, @@ -13435,17 +12846,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "cross_origin_auth": false, @@ -13456,7 +12866,7 @@ "subject": "deprecated" } ], - "client_id": "xYOv2UsoAuKptIEAjkeB62Oaeg1Jn2QX", + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13466,10 +12876,8 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -13525,8 +12933,8 @@ "response": { "client_grants": [ { - "id": "cgr_S6EVifP1ifjC9uVQ", - "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "id": "cgr_S92D2BBPB2wQXFYC", + "client_id": "GH55Wtak9aTrj6tjRFObq1cqnu5a8mtM", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -13663,8 +13071,8 @@ "subject_type": "client" }, { - "id": "cgr_eG5gEZKTl5i0JlGq", - "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", + "id": "cgr_UQhGxDPGii0tSQcs", + "client_id": "0ltKN06qv5WnNoNz2Fu6QvyOl2o6K6nE", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -14049,22 +13457,22 @@ "response": { "roles": [ { - "id": "rol_HL6iYQ8aOmwIQR4Z", + "id": "rol_nvXgdsT2ksrlrQpN", "name": "Admin", "description": "Can read and write things" }, { - "id": "rol_6MeXScuszPY3FHmj", + "id": "rol_DW7eDROpAD03JEhC", "name": "Reader", "description": "Can only read things" }, { - "id": "rol_FMUfBZQJE8GIpCD3", + "id": "rol_TDHVhZp26Ti7nQt2", "name": "read_only", "description": "Read Only" }, { - "id": "rol_3JfaQfAutCBGuyMm", + "id": "rol_6uNKN3FdNBPgcRFM", "name": "read_osnly", "description": "Readz Only" } @@ -14079,7 +13487,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_HL6iYQ8aOmwIQR4Z/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_nvXgdsT2ksrlrQpN/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -14094,7 +13502,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_HL6iYQ8aOmwIQR4Z/permissions?per_page=100&page=1&include_totals=true", + "path": "/api/v2/roles/rol_nvXgdsT2ksrlrQpN/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { @@ -14109,7 +13517,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_6MeXScuszPY3FHmj/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_DW7eDROpAD03JEhC/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -14124,7 +13532,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_6MeXScuszPY3FHmj/permissions?per_page=100&page=1&include_totals=true", + "path": "/api/v2/roles/rol_DW7eDROpAD03JEhC/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { @@ -14139,7 +13547,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_FMUfBZQJE8GIpCD3/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_TDHVhZp26Ti7nQt2/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -14154,7 +13562,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_FMUfBZQJE8GIpCD3/permissions?per_page=100&page=1&include_totals=true", + "path": "/api/v2/roles/rol_TDHVhZp26Ti7nQt2/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { @@ -14169,7 +13577,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_3JfaQfAutCBGuyMm/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_6uNKN3FdNBPgcRFM/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -14184,7 +13592,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_3JfaQfAutCBGuyMm/permissions?per_page=100&page=1&include_totals=true", + "path": "/api/v2/roles/rol_6uNKN3FdNBPgcRFM/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { @@ -14205,12 +13613,12 @@ "response": { "organizations": [ { - "id": "org_4ljRqNj9r3hARo3g", + "id": "org_rupfjUkVVvnPPk1y", "name": "org2", "display_name": "Organization2" }, { - "id": "org_TiDOQfO5mFtNEm4F", + "id": "org_YQGLuGuqRYrilmSQ", "name": "org1", "display_name": "Organization", "branding": { @@ -14318,7 +13726,7 @@ "subject": "deprecated" } ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14371,7 +13779,7 @@ "subject": "deprecated" } ], - "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", + "client_id": "0ltKN06qv5WnNoNz2Fu6QvyOl2o6K6nE", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14391,20 +13799,11 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" }, + "is_first_party": true, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -14425,8 +13824,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "client_id": "HC5UXDFP5lEc2vbTkPQWJ1yYeiLRkmDg", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14434,27 +13832,31 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -14475,7 +13877,8 @@ "subject": "deprecated" } ], - "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", + "allowed_origins": [], + "client_id": "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14483,11 +13886,16 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { @@ -14516,7 +13924,7 @@ "subject": "deprecated" } ], - "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "client_id": "GH55Wtak9aTrj6tjRFObq1cqnu5a8mtM", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14531,69 +13939,6 @@ ], "custom_login_page_on": true }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true - }, { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -14632,7 +13977,7 @@ "subject": "deprecated" } ], - "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "client_id": "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14654,9 +13999,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "is_first_party": true, "native_social_login": { @@ -14669,13 +14019,13 @@ }, "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, "sso_disabled": false, "cross_origin_authentication": false, @@ -14687,7 +14037,7 @@ "subject": "deprecated" } ], - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", + "client_id": "68Ty4a89yPogS0UGdX8aYaS6td9DXYjs", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14696,10 +14046,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ - "client_credentials" + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -14707,7 +14062,7 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], "client_metadata": {}, @@ -14720,17 +14075,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "cross_origin_auth": false, @@ -14741,7 +14095,7 @@ "subject": "deprecated" } ], - "client_id": "xYOv2UsoAuKptIEAjkeB62Oaeg1Jn2QX", + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14751,10 +14105,8 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -14804,7 +14156,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_rupfjUkVVvnPPk1y/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -14819,7 +14171,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/enabled_connections?page=1&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_rupfjUkVVvnPPk1y/enabled_connections?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -14834,7 +14186,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_rupfjUkVVvnPPk1y/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -14849,7 +14201,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/client-grants?page=1&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_rupfjUkVVvnPPk1y/client-grants?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -14864,7 +14216,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/discovery-domains?take=50", + "path": "/api/v2/organizations/org_rupfjUkVVvnPPk1y/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -14876,7 +14228,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/discovery-domains?take=50", + "path": "/api/v2/organizations/org_rupfjUkVVvnPPk1y/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -14888,7 +14240,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_YQGLuGuqRYrilmSQ/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -14903,7 +14255,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/enabled_connections?page=1&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_YQGLuGuqRYrilmSQ/enabled_connections?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -14918,7 +14270,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_YQGLuGuqRYrilmSQ/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -14933,7 +14285,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/client-grants?page=1&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_YQGLuGuqRYrilmSQ/client-grants?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -14948,7 +14300,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/discovery-domains?take=50", + "path": "/api/v2/organizations/org_YQGLuGuqRYrilmSQ/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -14960,7 +14312,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/discovery-domains?take=50", + "path": "/api/v2/organizations/org_YQGLuGuqRYrilmSQ/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -14978,7 +14330,7 @@ "response": { "connections": [ { - "id": "con_cls5o7ko4UNCAbi5", + "id": "con_cxSOS7uLgPojtLBh", "options": { "mfa": { "active": true, @@ -15041,12 +14393,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", - "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", + "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv" ] }, { - "id": "con_mNzsGFqGTiRm8ck6", + "id": "con_lfhXlIY73LFJlMks", "options": { "email": true, "scope": [ @@ -15068,12 +14420,12 @@ "google-oauth2" ], "enabled_clients": [ - "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", - "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", + "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU" ] }, { - "id": "con_itdctyRSC3HQmlX0", + "id": "con_3R2lX4rln4ArocW5", "options": { "mfa": { "active": true, @@ -15110,8 +14462,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" ] } ] @@ -15128,8 +14480,8 @@ "response": { "client_grants": [ { - "id": "cgr_S6EVifP1ifjC9uVQ", - "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "id": "cgr_S92D2BBPB2wQXFYC", + "client_id": "GH55Wtak9aTrj6tjRFObq1cqnu5a8mtM", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -15266,8 +14618,8 @@ "subject_type": "client" }, { - "id": "cgr_eG5gEZKTl5i0JlGq", - "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", + "id": "cgr_UQhGxDPGii0tSQcs", + "client_id": "0ltKN06qv5WnNoNz2Fu6QvyOl2o6K6nE", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -15736,7 +15088,7 @@ "subject": "deprecated" } ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -15789,7 +15141,7 @@ "subject": "deprecated" } ], - "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", + "client_id": "0ltKN06qv5WnNoNz2Fu6QvyOl2o6K6nE", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -15805,65 +15157,6 @@ ], "custom_login_page_on": true }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "allowed_origins": [], - "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "web_origins": [], - "custom_login_page_on": true - }, { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -15893,7 +15186,7 @@ "subject": "deprecated" } ], - "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", + "client_id": "HC5UXDFP5lEc2vbTkPQWJ1yYeiLRkmDg", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -15912,8 +15205,20 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -15934,7 +15239,8 @@ "subject": "deprecated" } ], - "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "allowed_origins": [], + "client_id": "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -15942,44 +15248,33 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Terraform Provider", "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" }, "sso_disabled": false, "cross_origin_authentication": false, @@ -15991,7 +15286,7 @@ "subject": "deprecated" } ], - "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", + "client_id": "GH55Wtak9aTrj6tjRFObq1cqnu5a8mtM", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -15999,16 +15294,10 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "client_credentials" ], "custom_login_page_on": true }, @@ -16050,7 +15339,7 @@ "subject": "deprecated" } ], - "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "client_id": "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -16072,9 +15361,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "is_first_party": true, "native_social_login": { @@ -16087,13 +15381,13 @@ }, "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, "sso_disabled": false, "cross_origin_authentication": false, @@ -16105,7 +15399,7 @@ "subject": "deprecated" } ], - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", + "client_id": "68Ty4a89yPogS0UGdX8aYaS6td9DXYjs", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -16114,10 +15408,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ - "client_credentials" + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -16125,7 +15424,7 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], "client_metadata": {}, @@ -16138,17 +15437,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "cross_origin_auth": false, @@ -16159,7 +15457,7 @@ "subject": "deprecated" } ], - "client_id": "xYOv2UsoAuKptIEAjkeB62Oaeg1Jn2QX", + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -16169,10 +15467,8 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -16227,7 +15523,7 @@ "status": 200, "response": [ { - "id": "lst_0000000000025595", + "id": "lst_0000000000025597", "name": "Suspended DD Log Stream", "type": "datadog", "status": "active", @@ -16238,14 +15534,14 @@ "isPriority": false }, { - "id": "lst_0000000000025596", + "id": "lst_0000000000025598", "name": "Amazon EventBridge", "type": "eventbridge", "status": "active", "sink": { "awsAccountId": "123456789012", "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-2a1febfb-fae7-4ade-ac00-b462a0a18f30/auth0.logs" + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-7022a134-25ea-40c6-8164-cf25c35ee97d/auth0.logs" }, "filters": [ { @@ -17592,7 +16888,7 @@ "subject": "deprecated" } ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -17645,7 +16941,7 @@ "subject": "deprecated" } ], - "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", + "client_id": "0ltKN06qv5WnNoNz2Fu6QvyOl2o6K6nE", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -17665,20 +16961,11 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" }, + "is_first_party": true, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -17699,8 +16986,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "client_id": "HC5UXDFP5lEc2vbTkPQWJ1yYeiLRkmDg", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -17708,27 +16994,31 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -17749,7 +17039,8 @@ "subject": "deprecated" } ], - "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", + "allowed_origins": [], + "client_id": "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -17757,11 +17048,16 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { @@ -17790,7 +17086,7 @@ "subject": "deprecated" } ], - "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "client_id": "GH55Wtak9aTrj6tjRFObq1cqnu5a8mtM", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -17805,69 +17101,6 @@ ], "custom_login_page_on": true }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true - }, { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -17906,7 +17139,7 @@ "subject": "deprecated" } ], - "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "client_id": "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -17928,9 +17161,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "is_first_party": true, "native_social_login": { @@ -17943,13 +17181,13 @@ }, "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, "sso_disabled": false, "cross_origin_authentication": false, @@ -17961,7 +17199,7 @@ "subject": "deprecated" } ], - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", + "client_id": "68Ty4a89yPogS0UGdX8aYaS6td9DXYjs", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -17970,10 +17208,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ - "client_credentials" + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -17981,7 +17224,7 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], "client_metadata": {}, @@ -17994,17 +17237,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "cross_origin_auth": false, @@ -18015,7 +17257,7 @@ "subject": "deprecated" } ], - "client_id": "xYOv2UsoAuKptIEAjkeB62Oaeg1Jn2QX", + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -18025,10 +17267,8 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -18047,7 +17287,7 @@ "response": { "connections": [ { - "id": "con_cls5o7ko4UNCAbi5", + "id": "con_cxSOS7uLgPojtLBh", "options": { "mfa": { "active": true, @@ -18110,12 +17350,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", - "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", + "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv" ] }, { - "id": "con_itdctyRSC3HQmlX0", + "id": "con_3R2lX4rln4ArocW5", "options": { "mfa": { "active": true, @@ -18152,8 +17392,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" ] } ] @@ -18164,16 +17404,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_cls5o7ko4UNCAbi5/clients?take=50", + "path": "/api/v2/connections/con_cxSOS7uLgPojtLBh/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf" + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU" }, { - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "client_id": "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv" } ] }, @@ -18183,13 +17423,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients?take=50", + "path": "/api/v2/connections/con_3R2lX4rln4ArocW5/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -18202,16 +17442,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_cls5o7ko4UNCAbi5/clients?take=50", + "path": "/api/v2/connections/con_cxSOS7uLgPojtLBh/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf" + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU" }, { - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "client_id": "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv" } ] }, @@ -18221,13 +17461,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients?take=50", + "path": "/api/v2/connections/con_3R2lX4rln4ArocW5/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -18246,7 +17486,7 @@ "response": { "connections": [ { - "id": "con_cls5o7ko4UNCAbi5", + "id": "con_cxSOS7uLgPojtLBh", "options": { "mfa": { "active": true, @@ -18309,12 +17549,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", - "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", + "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv" ] }, { - "id": "con_mNzsGFqGTiRm8ck6", + "id": "con_lfhXlIY73LFJlMks", "options": { "email": true, "scope": [ @@ -18336,12 +17576,12 @@ "google-oauth2" ], "enabled_clients": [ - "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", - "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", + "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU" ] }, { - "id": "con_itdctyRSC3HQmlX0", + "id": "con_3R2lX4rln4ArocW5", "options": { "mfa": { "active": true, @@ -18378,8 +17618,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" ] } ] @@ -18390,16 +17630,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6/clients?take=50", + "path": "/api/v2/connections/con_lfhXlIY73LFJlMks/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l" + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU" }, { - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "client_id": "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF" } ] }, @@ -18409,16 +17649,16 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6/clients?take=50", + "path": "/api/v2/connections/con_lfhXlIY73LFJlMks/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l" + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU" }, { - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a" + "client_id": "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF" } ] }, @@ -18492,22 +17732,7 @@ "22", "18", "12" - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/emails/provider?fields=name%2Cenabled%2Ccredentials%2Csettings%2Cdefault_from_address&include_fields=true", - "body": "", - "status": 200, - "response": { - "name": "mandrill", - "credentials": {}, - "default_from_address": "auth0-user@auth0.com", - "enabled": false + ] }, "rawHeaders": [], "responseIsBinary": false @@ -18515,14 +17740,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/verify_email_by_code", + "path": "/api/v2/emails/provider?fields=name%2Cenabled%2Ccredentials%2Csettings%2Cdefault_from_address&include_fields=true", "body": "", - "status": 404, + "status": 200, "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" + "name": "mandrill", + "credentials": {}, + "default_from_address": "auth0-user@auth0.com", + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -18548,22 +17773,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email", - "body": "", - "status": 404, - "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/email-templates/async_approval", + "path": "/api/v2/email-templates/verify_email_by_code", "body": "", "status": 404, "response": { @@ -18593,7 +17803,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/mfa_oob_code", + "path": "/api/v2/email-templates/stolen_credentials", "body": "", "status": 404, "response": { @@ -18605,25 +17815,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/email-templates/password_reset", - "body": "", - "status": 200, - "response": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -18661,7 +17852,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/change_password", + "path": "/api/v2/email-templates/enrollment_email", "body": "", "status": 404, "response": { @@ -18676,7 +17867,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/enrollment_email", + "path": "/api/v2/email-templates/reset_email_by_code", "body": "", "status": 404, "response": { @@ -18691,7 +17882,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email_by_code", + "path": "/api/v2/email-templates/blocked_account", "body": "", "status": 404, "response": { @@ -18706,7 +17897,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/user_invitation", + "path": "/api/v2/email-templates/password_reset", "body": "", "status": 404, "response": { @@ -18721,7 +17912,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/password_reset", + "path": "/api/v2/email-templates/change_password", "body": "", "status": 404, "response": { @@ -18736,7 +17927,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/async_approval", + "path": "/api/v2/email-templates/mfa_oob_code", "body": "", "status": 404, "response": { @@ -18751,7 +17942,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/blocked_account", + "path": "/api/v2/email-templates/async_approval", "body": "", "status": 404, "response": { @@ -18772,8 +17963,8 @@ "response": { "client_grants": [ { - "id": "cgr_S6EVifP1ifjC9uVQ", - "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "id": "cgr_S92D2BBPB2wQXFYC", + "client_id": "GH55Wtak9aTrj6tjRFObq1cqnu5a8mtM", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -18910,8 +18101,8 @@ "subject_type": "client" }, { - "id": "cgr_eG5gEZKTl5i0JlGq", - "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", + "id": "cgr_UQhGxDPGii0tSQcs", + "client_id": "0ltKN06qv5WnNoNz2Fu6QvyOl2o6K6nE", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -19414,22 +18605,22 @@ "response": { "roles": [ { - "id": "rol_HL6iYQ8aOmwIQR4Z", + "id": "rol_nvXgdsT2ksrlrQpN", "name": "Admin", "description": "Can read and write things" }, { - "id": "rol_6MeXScuszPY3FHmj", + "id": "rol_DW7eDROpAD03JEhC", "name": "Reader", "description": "Can only read things" }, { - "id": "rol_FMUfBZQJE8GIpCD3", + "id": "rol_TDHVhZp26Ti7nQt2", "name": "read_only", "description": "Read Only" }, { - "id": "rol_3JfaQfAutCBGuyMm", + "id": "rol_6uNKN3FdNBPgcRFM", "name": "read_osnly", "description": "Readz Only" } @@ -19444,7 +18635,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_HL6iYQ8aOmwIQR4Z/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_nvXgdsT2ksrlrQpN/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -19459,7 +18650,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_HL6iYQ8aOmwIQR4Z/permissions?per_page=100&page=1&include_totals=true", + "path": "/api/v2/roles/rol_nvXgdsT2ksrlrQpN/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { @@ -19474,7 +18665,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_6MeXScuszPY3FHmj/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_DW7eDROpAD03JEhC/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -19489,7 +18680,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_6MeXScuszPY3FHmj/permissions?per_page=100&page=1&include_totals=true", + "path": "/api/v2/roles/rol_DW7eDROpAD03JEhC/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { @@ -19504,7 +18695,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_FMUfBZQJE8GIpCD3/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_TDHVhZp26Ti7nQt2/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -19519,7 +18710,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_FMUfBZQJE8GIpCD3/permissions?per_page=100&page=1&include_totals=true", + "path": "/api/v2/roles/rol_TDHVhZp26Ti7nQt2/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { @@ -19534,7 +18725,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_3JfaQfAutCBGuyMm/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_6uNKN3FdNBPgcRFM/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -19549,7 +18740,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_3JfaQfAutCBGuyMm/permissions?per_page=100&page=1&include_totals=true", + "path": "/api/v2/roles/rol_6uNKN3FdNBPgcRFM/permissions?per_page=100&page=1&include_totals=true", "body": "", "status": 200, "response": { @@ -19608,7 +18799,7 @@ }, "credentials": null, "created_at": "2025-12-09T12:24:00.604Z", - "updated_at": "2025-12-16T08:58:34.717Z" + "updated_at": "2025-12-16T10:11:48.093Z" } ] }, @@ -19623,6 +18814,22 @@ "status": 200, "response": { "templates": [ + { + "id": "tem_o4LBTt4NQyX8K4vC9dPafR", + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "otp_verify", + "disabled": false, + "created_at": "2025-12-09T12:26:30.547Z", + "updated_at": "2025-12-16T10:11:50.208Z", + "content": { + "syntax": "liquid", + "body": { + "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}", + "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" + } + } + }, { "id": "tem_xqbUSF83fpnRv8r8rqXFDZ", "tenant": "auth0-deploy-cli-e2e", @@ -19630,7 +18837,7 @@ "type": "change_password", "disabled": false, "created_at": "2025-12-09T12:26:20.243Z", - "updated_at": "2025-12-16T08:58:36.831Z", + "updated_at": "2025-12-16T10:11:50.047Z", "content": { "syntax": "liquid", "body": { @@ -19646,7 +18853,7 @@ "type": "blocked_account", "disabled": false, "created_at": "2025-12-09T12:22:47.683Z", - "updated_at": "2025-12-16T08:58:36.736Z", + "updated_at": "2025-12-16T10:11:50.118Z", "content": { "syntax": "liquid", "body": { @@ -19656,22 +18863,6 @@ "from": "0032232323" } }, - { - "id": "tem_o4LBTt4NQyX8K4vC9dPafR", - "tenant": "auth0-deploy-cli-e2e", - "channel": "phone", - "type": "otp_verify", - "disabled": false, - "created_at": "2025-12-09T12:26:30.547Z", - "updated_at": "2025-12-16T08:58:37.073Z", - "content": { - "syntax": "liquid", - "body": { - "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}", - "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" - } - } - }, { "id": "tem_qarYST5TTE5pbMNB5NHZAj", "tenant": "auth0-deploy-cli-e2e", @@ -19679,7 +18870,7 @@ "type": "otp_enroll", "disabled": false, "created_at": "2025-12-09T12:26:25.327Z", - "updated_at": "2025-12-16T08:58:36.804Z", + "updated_at": "2025-12-16T10:11:50.397Z", "content": { "syntax": "liquid", "body": { @@ -19841,7 +19032,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup-id/custom-text/en", + "path": "/api/v2/prompts/signup-password/custom-text/en", "body": "", "status": 200, "response": {}, @@ -19851,7 +19042,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup-password/custom-text/en", + "path": "/api/v2/prompts/signup-id/custom-text/en", "body": "", "status": 200, "response": {}, @@ -19861,7 +19052,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/phone-identifier-challenge/custom-text/en", + "path": "/api/v2/prompts/phone-identifier-enrollment/custom-text/en", "body": "", "status": 200, "response": {}, @@ -19871,7 +19062,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/phone-identifier-enrollment/custom-text/en", + "path": "/api/v2/prompts/phone-identifier-challenge/custom-text/en", "body": "", "status": 200, "response": {}, @@ -19961,7 +19152,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-webauthn/custom-text/en", + "path": "/api/v2/prompts/mfa-voice/custom-text/en", "body": "", "status": 200, "response": {}, @@ -19971,7 +19162,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-voice/custom-text/en", + "path": "/api/v2/prompts/mfa-phone/custom-text/en", "body": "", "status": 200, "response": {}, @@ -19981,7 +19172,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-phone/custom-text/en", + "path": "/api/v2/prompts/mfa-webauthn/custom-text/en", "body": "", "status": 200, "response": {}, @@ -20031,7 +19222,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/device-flow/custom-text/en", + "path": "/api/v2/prompts/status/custom-text/en", "body": "", "status": 200, "response": {}, @@ -20041,7 +19232,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/status/custom-text/en", + "path": "/api/v2/prompts/device-flow/custom-text/en", "body": "", "status": 200, "response": {}, @@ -20051,7 +19242,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/email-otp-challenge/custom-text/en", + "path": "/api/v2/prompts/email-verification/custom-text/en", "body": "", "status": 200, "response": {}, @@ -20061,7 +19252,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/email-verification/custom-text/en", + "path": "/api/v2/prompts/email-otp-challenge/custom-text/en", "body": "", "status": 200, "response": {}, @@ -20081,7 +19272,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/common/custom-text/en", + "path": "/api/v2/prompts/invitation/custom-text/en", "body": "", "status": 200, "response": {}, @@ -20091,7 +19282,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/invitation/custom-text/en", + "path": "/api/v2/prompts/common/custom-text/en", "body": "", "status": 200, "response": {}, @@ -20101,7 +19292,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/passkeys/custom-text/en", + "path": "/api/v2/prompts/captcha/custom-text/en", "body": "", "status": 200, "response": {}, @@ -20111,7 +19302,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/captcha/custom-text/en", + "path": "/api/v2/prompts/passkeys/custom-text/en", "body": "", "status": 200, "response": {}, @@ -20131,7 +19322,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/partials", + "path": "/api/v2/prompts/login/partials", "body": "", "status": 200, "response": {}, @@ -20141,7 +19332,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-password/partials", + "path": "/api/v2/prompts/login-id/partials", "body": "", "status": 200, "response": {}, @@ -20151,7 +19342,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login/partials", + "path": "/api/v2/prompts/login-password/partials", "body": "", "status": 200, "response": {}, @@ -20171,7 +19362,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup-id/partials", + "path": "/api/v2/prompts/signup/partials", "body": "", "status": 200, "response": {}, @@ -20181,7 +19372,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup/partials", + "path": "/api/v2/prompts/signup-id/partials", "body": "", "status": 200, "response": {}, @@ -20222,7 +19413,7 @@ "response": { "actions": [ { - "id": "2b25f34b-cc41-4b78-8eb0-861be0f30f1d", + "id": "ead7d2a3-5a93-43e2-9ec3-455f3c39daf9", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -20230,34 +19421,34 @@ "version": "v1" } ], - "created_at": "2025-12-16T08:57:07.885769307Z", - "updated_at": "2025-12-16T08:58:22.911650706Z", + "created_at": "2025-12-16T10:10:30.752146844Z", + "updated_at": "2025-12-16T10:11:36.910288525Z", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], "runtime": "node22", "status": "built", "secrets": [], "current_version": { - "id": "77a70d48-694c-4055-becb-b10b99ee73f4", + "id": "83a87aec-f6f7-42bb-b6ad-6fa170f652d1", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "runtime": "node22", "status": "BUILT", "number": 2, - "build_time": "2025-12-16T08:58:23.733386236Z", - "created_at": "2025-12-16T08:58:23.642622798Z", - "updated_at": "2025-12-16T08:58:23.734859050Z" + "build_time": "2025-12-16T10:11:37.710742601Z", + "created_at": "2025-12-16T10:11:37.627490560Z", + "updated_at": "2025-12-16T10:11:37.712144713Z" }, "deployed_version": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "77a70d48-694c-4055-becb-b10b99ee73f4", + "id": "83a87aec-f6f7-42bb-b6ad-6fa170f652d1", "deployed": true, "number": 2, - "built_at": "2025-12-16T08:58:23.733386236Z", + "built_at": "2025-12-16T10:11:37.710742601Z", "secrets": [], "status": "built", - "created_at": "2025-12-16T08:58:23.642622798Z", - "updated_at": "2025-12-16T08:58:23.734859050Z", + "created_at": "2025-12-16T10:11:37.627490560Z", + "updated_at": "2025-12-16T10:11:37.712144713Z", "runtime": "node22", "supported_triggers": [ { @@ -20269,7 +19460,7 @@ "all_changes_deployed": true }, { - "id": "13228a5d-a06b-4e51-89aa-45b56efde856", + "id": "9cc78117-5697-42a8-9c1f-03bf8e5a3689", "name": "My Custom Action", "supported_triggers": [ { @@ -20277,34 +19468,34 @@ "version": "v2" } ], - "created_at": "2025-12-16T08:59:08.956810259Z", - "updated_at": "2025-12-16T08:59:08.967618945Z", + "created_at": "2025-12-16T10:12:49.378691946Z", + "updated_at": "2025-12-16T10:12:49.386633985Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node18", "status": "built", "secrets": [], "current_version": { - "id": "22e4811c-46a6-4d67-8fb0-ad94a4289752", + "id": "9f712c5b-390c-46d5-92f1-899d62f0e892", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node18", "status": "BUILT", "number": 1, - "build_time": "2025-12-16T08:59:09.806979854Z", - "created_at": "2025-12-16T08:59:09.734430679Z", - "updated_at": "2025-12-16T08:59:09.808139988Z" + "build_time": "2025-12-16T10:12:50.304956456Z", + "created_at": "2025-12-16T10:12:50.209634926Z", + "updated_at": "2025-12-16T10:12:50.307080188Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "22e4811c-46a6-4d67-8fb0-ad94a4289752", + "id": "9f712c5b-390c-46d5-92f1-899d62f0e892", "deployed": true, "number": 1, - "built_at": "2025-12-16T08:59:09.806979854Z", + "built_at": "2025-12-16T10:12:50.304956456Z", "secrets": [], "status": "built", - "created_at": "2025-12-16T08:59:09.734430679Z", - "updated_at": "2025-12-16T08:59:09.808139988Z", + "created_at": "2025-12-16T10:12:50.209634926Z", + "updated_at": "2025-12-16T10:12:50.307080188Z", "runtime": "node18", "supported_triggers": [ { @@ -20330,23 +19521,6 @@ "status": 200, "response": { "triggers": [ - { - "id": "post-login", - "version": "v3", - "status": "CURRENT", - "runtimes": [ - "node18-actions", - "node22" - ], - "default_runtime": "node22", - "binding_policy": "trigger-bound", - "compatible_triggers": [ - { - "id": "post-login", - "version": "v2" - } - ] - }, { "id": "post-login", "version": "v2", @@ -20359,19 +19533,8 @@ "compatible_triggers": [] }, { - "id": "credentials-exchange", - "version": "v1", - "status": "DEPRECATED", - "runtimes": [ - "node12" - ], - "default_runtime": "node12", - "binding_policy": "trigger-bound", - "compatible_triggers": [] - }, - { - "id": "credentials-exchange", - "version": "v2", + "id": "post-login", + "version": "v3", "status": "CURRENT", "runtimes": [ "node18-actions", @@ -20379,13 +19542,19 @@ ], "default_runtime": "node22", "binding_policy": "trigger-bound", - "compatible_triggers": [] + "compatible_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ] }, { - "id": "pre-user-registration", + "id": "credentials-exchange", "version": "v2", "status": "CURRENT", "runtimes": [ + "node12", "node18-actions", "node22" ], @@ -20394,21 +19563,11 @@ "compatible_triggers": [] }, { - "id": "post-user-registration", - "version": "v1", - "status": "DEPRECATED", - "runtimes": [ - "node12" - ], - "default_runtime": "node12", - "binding_policy": "trigger-bound", - "compatible_triggers": [] - }, - { - "id": "post-user-registration", + "id": "pre-user-registration", "version": "v2", "status": "CURRENT", "runtimes": [ + "node12", "node18-actions", "node22" ], @@ -20417,10 +19576,11 @@ "compatible_triggers": [] }, { - "id": "post-change-password", + "id": "post-user-registration", "version": "v2", "status": "CURRENT", "runtimes": [ + "node12", "node18-actions", "node22" ], @@ -20428,22 +19588,12 @@ "binding_policy": "trigger-bound", "compatible_triggers": [] }, - { - "id": "send-phone-message", - "version": "v1", - "status": "DEPRECATED", - "runtimes": [ - "node12" - ], - "default_runtime": "node12", - "binding_policy": "trigger-bound", - "compatible_triggers": [] - }, { "id": "post-change-password", "version": "v2", "status": "CURRENT", "runtimes": [ + "node12", "node18-actions", "node22" ], @@ -20664,10 +19814,10 @@ "response": { "bindings": [ { - "id": "0fc89848-3924-4c97-96f6-501a8f76f378", + "id": "8685b798-7d18-47d3-9b3b-d1854a4525d0", "trigger_id": "custom-phone-provider", "action": { - "id": "2b25f34b-cc41-4b78-8eb0-861be0f30f1d", + "id": "ead7d2a3-5a93-43e2-9ec3-455f3c39daf9", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -20675,29 +19825,29 @@ "version": "v1" } ], - "created_at": "2025-12-16T08:57:07.885769307Z", - "updated_at": "2025-12-16T08:58:22.906332840Z", + "created_at": "2025-12-16T10:10:30.752146844Z", + "updated_at": "2025-12-16T10:11:36.902340019Z", "current_version": { - "id": "77a70d48-694c-4055-becb-b10b99ee73f4", + "id": "83a87aec-f6f7-42bb-b6ad-6fa170f652d1", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "runtime": "node22", "status": "BUILT", "number": 2, - "build_time": "2025-12-16T08:58:23.733386236Z", - "created_at": "2025-12-16T08:58:23.642622798Z", - "updated_at": "2025-12-16T08:58:23.734859050Z" + "build_time": "2025-12-16T10:11:37.710742601Z", + "created_at": "2025-12-16T10:11:37.627490560Z", + "updated_at": "2025-12-16T10:11:37.712144713Z" }, "deployed_version": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "77a70d48-694c-4055-becb-b10b99ee73f4", + "id": "83a87aec-f6f7-42bb-b6ad-6fa170f652d1", "deployed": true, "number": 2, - "built_at": "2025-12-16T08:58:23.733386236Z", + "built_at": "2025-12-16T10:11:37.710742601Z", "secrets": [], "status": "built", - "created_at": "2025-12-16T08:58:23.642622798Z", - "updated_at": "2025-12-16T08:58:23.734859050Z", + "created_at": "2025-12-16T10:11:37.627490560Z", + "updated_at": "2025-12-16T10:11:37.712144713Z", "runtime": "node22", "supported_triggers": [ { @@ -20708,8 +19858,8 @@ }, "all_changes_deployed": false }, - "created_at": "2025-12-16T08:58:43.239027497Z", - "updated_at": "2025-12-16T08:58:43.239027497Z", + "created_at": "2025-12-16T10:11:56.497757149Z", + "updated_at": "2025-12-16T10:11:56.497757149Z", "display_name": "Custom Phone Provider" } ], @@ -20780,12 +19930,12 @@ "response": { "organizations": [ { - "id": "org_4ljRqNj9r3hARo3g", + "id": "org_rupfjUkVVvnPPk1y", "name": "org2", "display_name": "Organization2" }, { - "id": "org_TiDOQfO5mFtNEm4F", + "id": "org_YQGLuGuqRYrilmSQ", "name": "org1", "display_name": "Organization", "branding": { @@ -20868,72 +20018,19 @@ }, { "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", - "callbacks": [], - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Default App", + "callbacks": [], + "is_first_party": true, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, "sso_disabled": false, @@ -20946,7 +20043,7 @@ "subject": "deprecated" } ], - "client_id": "Iz8DRXKQXlHH1kRz7QjGRLWiXewtD3Yd", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -20954,10 +20051,10 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -20966,9 +20063,8 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", + "name": "API Explorer Application", "allowed_clients": [], - "allowed_logout_urls": [], "callbacks": [], "client_metadata": {}, "is_first_party": true, @@ -21000,8 +20096,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "ACWycjOpjEbMgfnrWVhep13mHhazsUyf", + "client_id": "0ltKN06qv5WnNoNz2Fu6QvyOl2o6K6nE", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -21011,14 +20106,10 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { @@ -21050,7 +20141,7 @@ "subject": "deprecated" } ], - "client_id": "rR6QpblUGwhBjjoUXf6nEW5QexXEveEd", + "client_id": "HC5UXDFP5lEc2vbTkPQWJ1yYeiLRkmDg", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -21069,8 +20160,20 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -21091,7 +20194,8 @@ "subject": "deprecated" } ], - "client_id": "ohaPYTuBDBvINH9xHIAuJYgEqqdqlHGQ", + "allowed_origins": [], + "client_id": "KjqnjAT6PWajvX3XKVkWhFVaW8sFBWyv", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -21099,44 +20203,33 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, + "name": "Terraform Provider", "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" }, "sso_disabled": false, "cross_origin_authentication": false, @@ -21148,7 +20241,7 @@ "subject": "deprecated" } ], - "client_id": "rwFIzJ5C1i5eVAY4UbwF6JXuoxHcdExZ", + "client_id": "GH55Wtak9aTrj6tjRFObq1cqnu5a8mtM", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -21156,16 +20249,10 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "client_credentials" ], "custom_login_page_on": true }, @@ -21207,7 +20294,7 @@ "subject": "deprecated" } ], - "client_id": "1V2ajPd9pbyuhi94ApjVhazihpbYOd7l", + "client_id": "ahrUt7DkBom8m2EAs0zLSccaylYIuVfF", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -21229,9 +20316,14 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "is_first_party": true, "native_social_login": { @@ -21244,13 +20336,13 @@ }, "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, "sso_disabled": false, "cross_origin_authentication": false, @@ -21262,7 +20354,7 @@ "subject": "deprecated" } ], - "client_id": "B9Po0wV6UuQChEqRYN2hjajuFFh1fS6a", + "client_id": "68Ty4a89yPogS0UGdX8aYaS6td9DXYjs", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -21271,10 +20363,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ - "client_credentials" + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -21282,7 +20379,7 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "auth0-deploy-cli-extension", "allowed_clients": [], "callbacks": [], "client_metadata": {}, @@ -21295,17 +20392,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "cross_origin_auth": false, @@ -21316,7 +20412,7 @@ "subject": "deprecated" } ], - "client_id": "xYOv2UsoAuKptIEAjkeB62Oaeg1Jn2QX", + "client_id": "1TbnVO0y41cPrTLC7HvGKQswbGETjlOU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -21326,10 +20422,8 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -21379,7 +20473,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_rupfjUkVVvnPPk1y/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -21394,7 +20488,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/enabled_connections?page=1&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_rupfjUkVVvnPPk1y/enabled_connections?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -21409,7 +20503,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_rupfjUkVVvnPPk1y/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -21424,7 +20518,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/client-grants?page=1&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_rupfjUkVVvnPPk1y/client-grants?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -21439,7 +20533,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/discovery-domains?take=50", + "path": "/api/v2/organizations/org_rupfjUkVVvnPPk1y/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -21451,7 +20545,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_4ljRqNj9r3hARo3g/discovery-domains?take=50", + "path": "/api/v2/organizations/org_rupfjUkVVvnPPk1y/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -21463,7 +20557,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/enabled_connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_YQGLuGuqRYrilmSQ/enabled_connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -21478,7 +20572,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/enabled_connections?page=1&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_YQGLuGuqRYrilmSQ/enabled_connections?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -21493,7 +20587,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/client-grants?page=0&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_YQGLuGuqRYrilmSQ/client-grants?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -21508,7 +20602,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/client-grants?page=1&per_page=50&include_totals=true", + "path": "/api/v2/organizations/org_YQGLuGuqRYrilmSQ/client-grants?page=1&per_page=50&include_totals=true", "body": "", "status": 200, "response": { @@ -21523,7 +20617,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/discovery-domains?take=50", + "path": "/api/v2/organizations/org_YQGLuGuqRYrilmSQ/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -21535,7 +20629,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_TiDOQfO5mFtNEm4F/discovery-domains?take=50", + "path": "/api/v2/organizations/org_YQGLuGuqRYrilmSQ/discovery-domains?take=50", "body": "", "status": 200, "response": { @@ -21544,6 +20638,25 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/attack-protection/brute-force-protection", + "body": "", + "status": 200, + "response": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 10 + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -21567,25 +20680,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/attack-protection/brute-force-protection", - "body": "", - "status": 200, - "response": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 10 - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -21617,23 +20711,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/attack-protection/bot-detection", - "body": "", - "status": 200, - "response": { - "challenge_password_policy": "never", - "challenge_passwordless_policy": "never", - "challenge_password_reset_policy": "never", - "allowlist": [], - "bot_detection_level": "medium", - "monitoring_mode_enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -21669,6 +20746,23 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/attack-protection/bot-detection", + "body": "", + "status": 200, + "response": { + "challenge_password_policy": "never", + "challenge_passwordless_policy": "never", + "challenge_password_reset_policy": "never", + "allowlist": [], + "bot_detection_level": "medium", + "monitoring_mode_enabled": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -21677,7 +20771,7 @@ "status": 200, "response": [ { - "id": "lst_0000000000025595", + "id": "lst_0000000000025597", "name": "Suspended DD Log Stream", "type": "datadog", "status": "active", @@ -21688,14 +20782,14 @@ "isPriority": false }, { - "id": "lst_0000000000025596", + "id": "lst_0000000000025598", "name": "Amazon EventBridge", "type": "eventbridge", "status": "active", "sink": { "awsAccountId": "123456789012", "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-2a1febfb-fae7-4ade-ac00-b462a0a18f30/auth0.logs" + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-7022a134-25ea-40c6-8164-cf25c35ee97d/auth0.logs" }, "filters": [ { @@ -21769,22 +20863,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, - "total": 1, - "forms": [ - { - "id": "ap_6JUSCU7qq1CravnoU6d6jr", - "name": "Blank-form", - "flow_count": 0, - "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-16T08:59:30.202Z" - } - ] + "total": 0, + "flows": [] }, "rawHeaders": [], "responseIsBinary": false @@ -21792,14 +20878,22 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, - "total": 0, - "flows": [] + "total": 1, + "forms": [ + { + "id": "ap_6JUSCU7qq1CravnoU6d6jr", + "name": "Blank-form", + "flow_count": 0, + "created_at": "2024-11-26T11:58:18.187Z", + "updated_at": "2025-12-16T10:13:11.443Z" + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -21868,7 +20962,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-16T08:59:30.202Z" + "updated_at": "2025-12-16T10:13:11.443Z" }, "rawHeaders": [], "responseIsBinary": false @@ -21977,7 +21071,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-16T08:59:23.996Z", + "updated_at": "2025-12-16T10:13:05.041Z", "branding": { "colors": { "primary": "#19aecc" @@ -22029,7 +21123,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-16T08:59:10.887Z", + "updated_at": "2025-12-16T10:12:51.416Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] @@ -22118,29 +21212,5 @@ }, "rawHeaders": [], "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connection-profiles?take=10", - "body": "", - "status": 200, - "response": { - "connection_profiles": [] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connection-profiles?take=10", - "body": "", - "status": 200, - "response": { - "connection_profiles": [] - }, - "rawHeaders": [], - "responseIsBinary": false } -] +] \ No newline at end of file diff --git a/test/e2e/recordings/should-deploy-without-throwing-an-error.json b/test/e2e/recordings/should-deploy-without-throwing-an-error.json index 9297741c5..7b9090a4c 100644 --- a/test/e2e/recordings/should-deploy-without-throwing-an-error.json +++ b/test/e2e/recordings/should-deploy-without-throwing-an-error.json @@ -971,7 +971,7 @@ "body": "", "status": 200, "response": { - "total": 9, + "total": 2, "start": 0, "limit": 100, "clients": [ @@ -1036,217 +1036,8 @@ "is_token_endpoint_ip_header_trusted": false, "name": "Default App", "callbacks": [], - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "uuEKiBwEtHSFm9qiQoUrnbFg55ZD63QW", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "allowed_origins": [], - "client_id": "k15LH4UseegSadRNaQhwB1sRTLPSLBTo", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "web_origins": [], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, "is_first_party": true, "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "PLgyapzr13G0aryQTRzgSsMJ9dbbYvqp", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -1256,7 +1047,6 @@ "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "cross_origin_auth": false, @@ -1267,7 +1057,7 @@ "subject": "deprecated" } ], - "client_id": "uw8hjIHcxeL2LaKGbBtFGwEdPXkzhWl3", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1275,8 +1065,6 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", @@ -1284,231 +1072,74 @@ "client_credentials" ], "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "KsK8Stn8v2U4JSoYY6QEcDcSFyDqratO", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "WM7pCOae5czoa1vUFr8vLEnX8pyoNgYV", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "CFSqJJvGh1dleeE9m7FXd52VbNTG6z5g", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/clients/u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "body": { - "name": "Default App", - "callbacks": [], - "custom_login_page_on": true, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "is_first_party": true, - "is_token_endpoint_ip_header_trusted": false, - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000 - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false - }, - "status": 200, - "response": { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", - "callbacks": [], - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/clients/lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", + "body": { + "name": "Default App", + "callbacks": [], + "custom_login_page_on": true, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "is_first_party": true, + "is_token_endpoint_ip_header_trusted": false, + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000 + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false + }, + "status": 200, + "response": { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Default App", + "callbacks": [], + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ { "cert": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1544,7 +1175,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/push-notification", + "path": "/api/v2/guardian/factors/webauthn-platform", "body": { "enabled": false }, @@ -1558,7 +1189,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/recovery-code", + "path": "/api/v2/guardian/factors/push-notification", "body": { "enabled": false }, @@ -1572,7 +1203,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-platform", + "path": "/api/v2/guardian/factors/otp", "body": { "enabled": false }, @@ -1586,7 +1217,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/recovery-code", "body": { "enabled": false }, @@ -1600,7 +1231,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/otp", + "path": "/api/v2/guardian/factors/sms", "body": { "enabled": false }, @@ -1614,7 +1245,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", + "path": "/api/v2/guardian/factors/email", "body": { "enabled": false }, @@ -1628,7 +1259,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/email", + "path": "/api/v2/guardian/factors/webauthn-roaming", "body": { "enabled": false }, @@ -1699,56 +1330,7 @@ "body": "", "status": 200, "response": { - "actions": [ - { - "id": "c2e2e98a-3975-485c-8e1e-0603b4ba550b", - "name": "My Custom Action", - "supported_triggers": [ - { - "id": "post-login", - "version": "v2" - } - ], - "created_at": "2025-12-04T09:14:37.431728383Z", - "updated_at": "2025-12-04T09:14:37.443728176Z", - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "dependencies": [], - "runtime": "node18", - "status": "built", - "secrets": [], - "current_version": { - "id": "b4d48cba-8883-45e3-b9c7-e0f4c4df0002", - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "runtime": "node18", - "status": "BUILT", - "number": 1, - "build_time": "2025-12-04T09:14:38.259756785Z", - "created_at": "2025-12-04T09:14:38.200367599Z", - "updated_at": "2025-12-04T09:14:38.260099232Z" - }, - "deployed_version": { - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "dependencies": [], - "id": "b4d48cba-8883-45e3-b9c7-e0f4c4df0002", - "deployed": true, - "number": 1, - "built_at": "2025-12-04T09:14:38.259756785Z", - "secrets": [], - "status": "built", - "created_at": "2025-12-04T09:14:38.200367599Z", - "updated_at": "2025-12-04T09:14:38.260099232Z", - "runtime": "node18", - "supported_triggers": [ - { - "id": "post-login", - "version": "v2" - } - ] - }, - "all_changes_deployed": true - } - ], - "total": 1, + "actions": [], "per_page": 100 }, "rawHeaders": [], @@ -1761,89 +1343,12 @@ "body": "", "status": 200, "response": { - "actions": [ - { - "id": "c2e2e98a-3975-485c-8e1e-0603b4ba550b", - "name": "My Custom Action", - "supported_triggers": [ - { - "id": "post-login", - "version": "v2" - } - ], - "created_at": "2025-12-04T09:14:37.431728383Z", - "updated_at": "2025-12-04T09:14:37.443728176Z", - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "dependencies": [], - "runtime": "node18", - "status": "built", - "secrets": [], - "current_version": { - "id": "b4d48cba-8883-45e3-b9c7-e0f4c4df0002", - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "runtime": "node18", - "status": "BUILT", - "number": 1, - "build_time": "2025-12-04T09:14:38.259756785Z", - "created_at": "2025-12-04T09:14:38.200367599Z", - "updated_at": "2025-12-04T09:14:38.260099232Z" - }, - "deployed_version": { - "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", - "dependencies": [], - "id": "b4d48cba-8883-45e3-b9c7-e0f4c4df0002", - "deployed": true, - "number": 1, - "built_at": "2025-12-04T09:14:38.259756785Z", - "secrets": [], - "status": "built", - "created_at": "2025-12-04T09:14:38.200367599Z", - "updated_at": "2025-12-04T09:14:38.260099232Z", - "runtime": "node18", - "supported_triggers": [ - { - "id": "post-login", - "version": "v2" - } - ] - }, - "all_changes_deployed": true - } - ], - "total": 1, + "actions": [], "per_page": 100 }, "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/brute-force-protection", - "body": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 10 - }, - "status": 200, - "response": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 10 - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -1892,34 +1397,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/breached-password-detection", - "body": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard" - }, - "status": 200, - "response": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard", - "stage": { - "pre-user-registration": { - "shields": [] - }, - "pre-change-password": { - "shields": [] - } - } - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -1948,6 +1425,34 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/breached-password-detection", + "body": { + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard" + }, + "status": 200, + "response": { + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard", + "stage": { + "pre-user-registration": { + "shields": [] + }, + "pre-change-password": { + "shields": [] + } + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -1965,7 +1470,7 @@ "body": "", "status": 200, "response": { - "total": 10, + "total": 3, "start": 0, "limit": 100, "clients": [ @@ -2030,7 +1535,6 @@ "is_token_endpoint_ip_header_trusted": false, "name": "Default App", "callbacks": [], - "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -2044,6 +1548,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -2051,7 +1556,7 @@ "subject": "deprecated" } ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2069,34 +1574,30 @@ }, { "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", - "allowed_clients": [], + "global": true, "callbacks": [], - "client_metadata": {}, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, + "name": "All Applications", "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" + ], + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, "signing_keys": [ { "cert": "[REDACTED]", @@ -2104,111 +1605,364 @@ "subject": "deprecated" } ], - "client_id": "uuEKiBwEtHSFm9qiQoUrnbFg55ZD63QW", - "callback_url_template": false, + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], "custom_login_page_on": true - }, + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections?take=50&strategy=auth0", + "body": "", + "status": 200, + "response": { + "connections": [ { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false + "id": "con_3R2lX4rln4ArocW5", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true }, - "facebook": { - "enabled": false - } + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "authentication": { + "active": true }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "allowed_origins": [], - "client_id": "k15LH4UseegSadRNaQhwB1sRTLPSLBTo", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false + "connected_accounts": { + "active": false }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" + "realms": [ + "Username-Password-Authentication" ], - "web_origins": [], - "custom_login_page_on": true - }, + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" + ] + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections?take=50&strategy=auth0", + "body": "", + "status": 200, + "response": { + "connections": [ { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" + "id": "con_3R2lX4rln4ArocW5", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true }, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "authentication": { + "active": true }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ + "connected_accounts": { + "active": false + }, + "realms": [ + "Username-Password-Authentication" + ], + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" + ] + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections/con_3R2lX4rln4ArocW5/clients?take=50", + "body": "", + "status": 200, + "response": { + "clients": [ + { + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" + }, + { + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections/con_3R2lX4rln4ArocW5/clients?take=50", + "body": "", + "status": 200, + "response": { + "clients": [ + { + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" + }, + { + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections/con_3R2lX4rln4ArocW5", + "body": "", + "status": 200, + "response": { + "id": "con_3R2lX4rln4ArocW5", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true + }, + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" + ], + "realms": [ + "Username-Password-Authentication" + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/connections/con_3R2lX4rln4ArocW5", + "body": { + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" + ], + "is_domain_connection": false, + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true + }, + "realms": [ + "Username-Password-Authentication" + ] + }, + "status": 200, + "response": { + "id": "con_3R2lX4rln4ArocW5", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true + }, + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" + ], + "realms": [ + "Username-Password-Authentication" + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/connections/con_3R2lX4rln4ArocW5/clients", + "body": [ + { + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "status": true + }, + { + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", + "status": true + } + ], + "status": 204, + "response": "", + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "total": 3, + "start": 0, + "limit": 100, + "clients": [ + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Deploy CLI", + "is_first_party": true, + "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "cross_origin_authentication": true, + "allowed_clients": [], + "callbacks": [], + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "signing_keys": [ { "cert": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "deprecated" } ], - "client_id": "PLgyapzr13G0aryQTRzgSsMJ9dbbYvqp", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2216,10 +1970,14 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", "app_type": "non_interactive", "grant_types": [ - "client_credentials" + "client_credentials", + "implicit", + "authorization_code", + "refresh_token" ], "custom_login_page_on": true }, @@ -2227,20 +1985,10 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], + "name": "Default App", "callbacks": [], - "client_metadata": {}, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -2250,7 +1998,6 @@ "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "cross_origin_auth": false, @@ -2261,7 +2008,7 @@ "subject": "deprecated" } ], - "client_id": "uw8hjIHcxeL2LaKGbBtFGwEdPXkzhWl3", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2269,8 +2016,6 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", @@ -2279,163 +2024,6 @@ ], "custom_login_page_on": true }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "KsK8Stn8v2U4JSoYY6QEcDcSFyDqratO", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "WM7pCOae5czoa1vUFr8vLEnX8pyoNgYV", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "CFSqJJvGh1dleeE9m7FXd52VbNTG6z5g", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, { "tenant": "auth0-deploy-cli-e2e", "global": true, @@ -2481,13 +2069,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?take=50&strategy=auth0", + "path": "/api/v2/connections?take=50", "body": "", "status": 200, "response": { "connections": [ { - "id": "con_itdctyRSC3HQmlX0", + "id": "con_3R2lX4rln4ArocW5", "options": { "mfa": { "active": true, @@ -2524,8 +2112,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" ] } ] @@ -2536,13 +2124,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?take=50&strategy=auth0", + "path": "/api/v2/connections?take=50", "body": "", "status": 200, "response": { "connections": [ { - "id": "con_itdctyRSC3HQmlX0", + "id": "con_3R2lX4rln4ArocW5", "options": { "mfa": { "active": true, @@ -2579,8 +2167,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" ] } ] @@ -2588,40 +2176,128 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "POST", + "path": "/api/v2/connections", + "body": { + "name": "google-oauth2", + "strategy": "google-oauth2", + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" + ], + "is_domain_connection": false, + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + } + }, + "status": 201, + "response": { + "id": "con_lfhXlIY73LFJlMks", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + }, + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" + ], + "realms": [ + "google-oauth2" + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients?take=50", + "path": "/api/v2/connections?take=1&name=google-oauth2&include_fields=true", "body": "", "status": 200, "response": { - "clients": [ - { - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" - }, + "connections": [ { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "id": "con_lfhXlIY73LFJlMks", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + }, + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "realms": [ + "google-oauth2" + ], + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" + ] } ] }, "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/connections/con_lfhXlIY73LFJlMks/clients", + "body": [ + { + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "status": true + }, + { + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", + "status": true + } + ], + "status": 204, + "response": "", + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients?take=50", + "path": "/api/v2/emails/provider?fields=name%2Cenabled%2Ccredentials%2Csettings%2Cdefault_from_address&include_fields=true", "body": "", "status": 200, "response": { - "clients": [ - { - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" - }, - { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - } - ] + "name": "mandrill", + "credentials": {}, + "default_from_address": "auth0-user@auth0.com", + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -2629,164 +2305,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_itdctyRSC3HQmlX0", + "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { - "id": "con_itdctyRSC3HQmlX0", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "enabled_clients": [ - "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - ], - "realms": [ - "Username-Password-Authentication" - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/connections/con_itdctyRSC3HQmlX0", - "body": { - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "u6litSM0kteNcq1warh1NdRpv0MJYaWa" - ], - "is_domain_connection": false, - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true - }, - "realms": [ - "Username-Password-Authentication" - ] - }, - "status": 200, - "response": { - "id": "con_itdctyRSC3HQmlX0", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "u6litSM0kteNcq1warh1NdRpv0MJYaWa" - ], - "realms": [ - "Username-Password-Authentication" - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients", - "body": [ - { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "status": true - }, - { - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "status": true - } - ], - "status": 204, - "response": "", - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", - "body": "", - "status": 200, - "response": { - "total": 10, + "total": 3, "start": 0, "limit": 100, "clients": [ @@ -2851,7 +2374,6 @@ "is_token_endpoint_ip_header_trusted": false, "name": "Default App", "callbacks": [], - "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -2865,6 +2387,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -2872,7 +2395,7 @@ "subject": "deprecated" } ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2890,88 +2413,30 @@ }, { "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", - "allowed_clients": [], + "global": true, "callbacks": [], - "client_metadata": {}, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, + "name": "All Applications", "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "uuEKiBwEtHSFm9qiQoUrnbFg55ZD63QW", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, "signing_keys": [ { "cert": "[REDACTED]", @@ -2979,1962 +2444,310 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "k15LH4UseegSadRNaQhwB1sRTLPSLBTo", - "callback_url_template": false, + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "web_origins": [], "custom_login_page_on": true - }, + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/client-grants?take=50", + "body": "", + "status": 200, + "response": { + "client_grants": [ { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "PLgyapzr13G0aryQTRzgSsMJ9dbbYvqp", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso": false, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "uw8hjIHcxeL2LaKGbBtFGwEdPXkzhWl3", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "KsK8Stn8v2U4JSoYY6QEcDcSFyDqratO", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "WM7pCOae5czoa1vUFr8vLEnX8pyoNgYV", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "CFSqJJvGh1dleeE9m7FXd52VbNTG6z5g", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], - "is_first_party": true, - "name": "All Applications", - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?take=50", - "body": "", - "status": 200, - "response": { - "connections": [ - { - "id": "con_itdctyRSC3HQmlX0", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?take=50", - "body": "", - "status": 200, - "response": { - "connections": [ - { - "id": "con_itdctyRSC3HQmlX0", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_K6JOwBbKFCexaEHM/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ - { - "client_id": "CFSqJJvGh1dleeE9m7FXd52VbNTG6z5g" - }, - { - "client_id": "uw8hjIHcxeL2LaKGbBtFGwEdPXkzhWl3" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/connections/con_K6JOwBbKFCexaEHM", - "body": { - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "u6litSM0kteNcq1warh1NdRpv0MJYaWa" - ], - "is_domain_connection": false, - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - } - }, - "status": 200, - "response": { - "id": "con_mNzsGFqGTiRm8ck6", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "u6litSM0kteNcq1warh1NdRpv0MJYaWa" - ], - "realms": [ - "google-oauth2" - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?take=1&name=google-oauth2&include_fields=true", - "body": "", - "status": 200, - "response": { - "connections": [ - { - "id": "con_mNzsGFqGTiRm8ck6", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "google-oauth2" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "u6litSM0kteNcq1warh1NdRpv0MJYaWa" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6/clients", - "body": [ - { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "status": true - }, - { - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "status": true - } - ], - "status": 204, - "response": "", - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/emails/provider?fields=name%2Cenabled%2Ccredentials%2Csettings%2Cdefault_from_address&include_fields=true", - "body": "", - "status": 200, - "response": { - "name": "mandrill", - "credentials": {}, - "default_from_address": "auth0-user@auth0.com", - "enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", - "body": "", - "status": 200, - "response": { - "total": 10, - "start": 0, - "limit": 100, - "clients": [ - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", - "is_first_party": true, - "oidc_conformant": true, - "sso_disabled": false, - "cross_origin_auth": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "cross_origin_authentication": true, - "allowed_clients": [], - "callbacks": [], - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials", - "implicit", - "authorization_code", - "refresh_token" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", - "callbacks": [], - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "uuEKiBwEtHSFm9qiQoUrnbFg55ZD63QW", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "allowed_origins": [], - "client_id": "k15LH4UseegSadRNaQhwB1sRTLPSLBTo", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "web_origins": [], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "PLgyapzr13G0aryQTRzgSsMJ9dbbYvqp", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso": false, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "uw8hjIHcxeL2LaKGbBtFGwEdPXkzhWl3", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "KsK8Stn8v2U4JSoYY6QEcDcSFyDqratO", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "WM7pCOae5czoa1vUFr8vLEnX8pyoNgYV", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "CFSqJJvGh1dleeE9m7FXd52VbNTG6z5g", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], - "is_first_party": true, - "name": "All Applications", - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/client-grants?take=50", - "body": "", - "status": 200, - "response": { - "client_grants": [ - { - "id": "cgr_HYZXCfVcMMieVFRJ", - "client_id": "KsK8Stn8v2U4JSoYY6QEcDcSFyDqratO", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" - ], - "subject_type": "client" - }, - { - "id": "cgr_T9StWvZSFEbXzMA7", - "client_id": "uuEKiBwEtHSFm9qiQoUrnbFg55ZD63QW", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" - ], - "subject_type": "client" - }, - { - "id": "cgr_pbwejzhwoujrsNE8", - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:client_credentials", - "update:client_credentials", - "delete:client_credentials", - "create:client_credentials", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations_summary", - "create:authentication_methods", - "read:authentication_methods", - "update:authentication_methods", - "delete:authentication_methods", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "read:organization_discovery_domains", - "update:organization_discovery_domains", - "create:organization_discovery_domains", - "delete:organization_discovery_domains", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations", - "read:scim_config", - "create:scim_config", - "update:scim_config", - "delete:scim_config", - "create:scim_token", - "read:scim_token", - "delete:scim_token", - "delete:phone_providers", - "create:phone_providers", - "read:phone_providers", - "update:phone_providers", - "delete:phone_templates", - "create:phone_templates", - "read:phone_templates", - "update:phone_templates", - "create:encryption_keys", - "read:encryption_keys", - "update:encryption_keys", - "delete:encryption_keys", - "read:sessions", - "update:sessions", - "delete:sessions", - "read:refresh_tokens", - "delete:refresh_tokens", - "create:self_service_profiles", - "read:self_service_profiles", - "update:self_service_profiles", - "delete:self_service_profiles", - "create:sso_access_tickets", - "delete:sso_access_tickets", - "read:forms", - "update:forms", - "delete:forms", - "create:forms", - "read:flows", - "update:flows", - "delete:flows", - "create:flows", - "read:flows_vault", - "read:flows_vault_connections", - "update:flows_vault_connections", - "delete:flows_vault_connections", - "create:flows_vault_connections", - "read:flows_executions", - "delete:flows_executions", - "read:connections_options", - "update:connections_options", - "read:self_service_profile_custom_texts", - "update:self_service_profile_custom_texts", - "create:network_acls", - "update:network_acls", - "read:network_acls", - "delete:network_acls", - "delete:vdcs_templates", - "read:vdcs_templates", - "create:vdcs_templates", - "update:vdcs_templates", - "create:custom_signing_keys", - "read:custom_signing_keys", - "update:custom_signing_keys", - "delete:custom_signing_keys", - "read:federated_connections_tokens", - "delete:federated_connections_tokens", - "create:user_attribute_profiles", - "read:user_attribute_profiles", - "update:user_attribute_profiles", - "delete:user_attribute_profiles", - "read:event_streams", - "create:event_streams", - "delete:event_streams", - "update:event_streams", - "read:event_deliveries", - "update:event_deliveries", - "create:connection_profiles", - "read:connection_profiles", - "update:connection_profiles", - "delete:connection_profiles", - "read:organization_client_grants", - "create:organization_client_grants", - "delete:organization_client_grants", - "read:security_metrics", - "read:connections_keys", - "update:connections_keys", - "create:connections_keys" - ], - "subject_type": "client" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "roles": [ - { - "id": "rol_jVbPH8r1ZIGS2gXN", - "name": "Admin", - "description": "Can read and write things" - }, - { - "id": "rol_xWADOPL9iJP4nUdr", - "name": "Reader", - "description": "Can only read things" - }, - { - "id": "rol_Iu8aIRwIrZ7Zk2Bz", - "name": "read_only", - "description": "Read Only" - }, - { - "id": "rol_hjHjIWbcLZccpcmF", - "name": "read_osnly", - "description": "Readz Only" - } - ], - "start": 0, - "limit": 100, - "total": 4 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_jVbPH8r1ZIGS2gXN/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_xWADOPL9iJP4nUdr/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_Iu8aIRwIrZ7Zk2Bz/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_hjHjIWbcLZccpcmF/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations?take=50", - "body": "", - "status": 200, - "response": { - "organizations": [] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", - "body": "", - "status": 200, - "response": { - "total": 10, - "start": 0, - "limit": 100, - "clients": [ - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", - "is_first_party": true, - "oidc_conformant": true, - "sso_disabled": false, - "cross_origin_auth": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "cross_origin_authentication": true, - "allowed_clients": [], - "callbacks": [], - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials", - "implicit", - "authorization_code", - "refresh_token" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", - "callbacks": [], - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "uuEKiBwEtHSFm9qiQoUrnbFg55ZD63QW", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" + "id": "cgr_pbwejzhwoujrsNE8", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:client_credentials", + "update:client_credentials", + "delete:client_credentials", + "create:client_credentials", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations_summary", + "create:authentication_methods", + "read:authentication_methods", + "update:authentication_methods", + "delete:authentication_methods", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "read:organization_discovery_domains", + "update:organization_discovery_domains", + "create:organization_discovery_domains", + "delete:organization_discovery_domains", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations", + "read:scim_config", + "create:scim_config", + "update:scim_config", + "delete:scim_config", + "create:scim_token", + "read:scim_token", + "delete:scim_token", + "delete:phone_providers", + "create:phone_providers", + "read:phone_providers", + "update:phone_providers", + "delete:phone_templates", + "create:phone_templates", + "read:phone_templates", + "update:phone_templates", + "create:encryption_keys", + "read:encryption_keys", + "update:encryption_keys", + "delete:encryption_keys", + "read:sessions", + "update:sessions", + "delete:sessions", + "read:refresh_tokens", + "delete:refresh_tokens", + "create:self_service_profiles", + "read:self_service_profiles", + "update:self_service_profiles", + "delete:self_service_profiles", + "create:sso_access_tickets", + "delete:sso_access_tickets", + "read:forms", + "update:forms", + "delete:forms", + "create:forms", + "read:flows", + "update:flows", + "delete:flows", + "create:flows", + "read:flows_vault", + "read:flows_vault_connections", + "update:flows_vault_connections", + "delete:flows_vault_connections", + "create:flows_vault_connections", + "read:flows_executions", + "delete:flows_executions", + "read:connections_options", + "update:connections_options", + "read:self_service_profile_custom_texts", + "update:self_service_profile_custom_texts", + "create:network_acls", + "update:network_acls", + "read:network_acls", + "delete:network_acls", + "delete:vdcs_templates", + "read:vdcs_templates", + "create:vdcs_templates", + "update:vdcs_templates", + "create:custom_signing_keys", + "read:custom_signing_keys", + "update:custom_signing_keys", + "delete:custom_signing_keys", + "read:federated_connections_tokens", + "delete:federated_connections_tokens", + "create:user_attribute_profiles", + "read:user_attribute_profiles", + "update:user_attribute_profiles", + "delete:user_attribute_profiles", + "read:event_streams", + "create:event_streams", + "delete:event_streams", + "update:event_streams", + "read:event_deliveries", + "update:event_deliveries", + "create:connection_profiles", + "read:connection_profiles", + "update:connection_profiles", + "delete:connection_profiles", + "read:organization_client_grants", + "create:organization_client_grants", + "delete:organization_client_grants", + "read:security_metrics", + "read:connections_keys", + "update:connections_keys", + "create:connections_keys" ], - "custom_login_page_on": true - }, + "subject_type": "client" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "roles": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations?take=50", + "body": "", + "status": 200, + "response": { + "organizations": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "total": 3, + "start": 0, + "limit": 100, + "clients": [ { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, + "name": "Deploy CLI", "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, "sso_disabled": false, - "cross_origin_authentication": false, "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "allowed_origins": [], - "client_id": "k15LH4UseegSadRNaQhwB1sRTLPSLBTo", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "web_origins": [], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "is_first_party": true, - "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -4944,40 +2757,9 @@ "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "PLgyapzr13G0aryQTRzgSsMJ9dbbYvqp", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "cross_origin_authentication": true, "allowed_clients": [], "callbacks": [], - "client_metadata": {}, - "is_first_party": true, "native_social_login": { "apple": { "enabled": false @@ -4986,20 +2768,6 @@ "enabled": false } }, - "oidc_conformant": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso": false, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -5007,7 +2775,7 @@ "subject": "deprecated" } ], - "client_id": "uw8hjIHcxeL2LaKGbBtFGwEdPXkzhWl3", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5017,143 +2785,30 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "KsK8Stn8v2U4JSoYY6QEcDcSFyDqratO", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", "app_type": "non_interactive", "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "WM7pCOae5czoa1vUFr8vLEnX8pyoNgYV", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", + "client_credentials", "implicit", + "authorization_code", "refresh_token" ], - "web_origins": [ - "http://localhost:3000" - ], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, + "name": "Default App", + "callbacks": [], + "is_first_party": true, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, "sso_disabled": false, @@ -5166,7 +2821,7 @@ "subject": "deprecated" } ], - "client_id": "CFSqJJvGh1dleeE9m7FXd52VbNTG6z5g", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5174,10 +2829,10 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -5233,7 +2888,7 @@ "response": { "connections": [ { - "id": "con_mNzsGFqGTiRm8ck6", + "id": "con_lfhXlIY73LFJlMks", "options": { "email": true, "scope": [ @@ -5256,11 +2911,11 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" ] }, { - "id": "con_itdctyRSC3HQmlX0", + "id": "con_3R2lX4rln4ArocW5", "options": { "mfa": { "active": true, @@ -5297,8 +2952,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" ] } ] @@ -5354,393 +3009,117 @@ } ], "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials", - "implicit", - "authorization_code", - "refresh_token" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", - "callbacks": [], - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], - "is_first_party": true, - "name": "All Applications", - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/client-grants?take=50", - "body": "", - "status": 200, - "response": { - "client_grants": [ - { - "id": "cgr_HYZXCfVcMMieVFRJ", - "client_id": "KsK8Stn8v2U4JSoYY6QEcDcSFyDqratO", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials", + "implicit", + "authorization_code", + "refresh_token" ], - "subject_type": "client" + "custom_login_page_on": true }, { - "id": "cgr_T9StWvZSFEbXzMA7", - "client_id": "uuEKiBwEtHSFm9qiQoUrnbFg55ZD63QW", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Default App", + "callbacks": [], + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "subject_type": "client" + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": true, + "callbacks": [], + "is_first_party": true, + "name": "All Applications", + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" + ], + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/client-grants?take=50", + "body": "", + "status": 200, + "response": { + "client_grants": [ { "id": "cgr_pbwejzhwoujrsNE8", "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", @@ -5987,69 +3366,7 @@ "path": "/api/v2/log-streams", "body": "", "status": 200, - "response": [ - { - "id": "lst_0000000000025369", - "name": "Suspended DD Log Stream", - "type": "datadog", - "status": "active", - "sink": { - "datadogApiKey": "some-sensitive-api-key", - "datadogRegion": "us" - }, - "isPriority": false - }, - { - "id": "lst_0000000000025370", - "name": "Amazon EventBridge", - "type": "eventbridge", - "status": "active", - "sink": { - "awsAccountId": "123456789012", - "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-cfc5325e-4577-409f-8e7b-2e4a664cb6ff/auth0.logs" - }, - "filters": [ - { - "type": "category", - "name": "auth.login.success" - }, - { - "type": "category", - "name": "auth.login.notification" - }, - { - "type": "category", - "name": "auth.login.fail" - }, - { - "type": "category", - "name": "auth.signup.success" - }, - { - "type": "category", - "name": "auth.logout.success" - }, - { - "type": "category", - "name": "auth.logout.fail" - }, - { - "type": "category", - "name": "auth.silent_auth.fail" - }, - { - "type": "category", - "name": "auth.silent_auth.success" - }, - { - "type": "category", - "name": "auth.token_exchange.fail" - } - ], - "isPriority": false - } - ], + "response": [], "rawHeaders": [], "responseIsBinary": false }, @@ -6133,4 +3450,4 @@ "rawHeaders": [], "responseIsBinary": false } -] +] \ No newline at end of file diff --git a/test/e2e/recordings/should-dump-and-deploy-without-throwing-an-error.json b/test/e2e/recordings/should-dump-and-deploy-without-throwing-an-error.json index 03609bc37..8c0522401 100644 --- a/test/e2e/recordings/should-dump-and-deploy-without-throwing-an-error.json +++ b/test/e2e/recordings/should-dump-and-deploy-without-throwing-an-error.json @@ -1136,7 +1136,7 @@ "body": "", "status": 200, "response": { - "total": 8, + "total": 2, "start": 0, "limit": 100, "clients": [ @@ -1201,24 +1201,15 @@ "is_token_endpoint_ip_header_trusted": false, "name": "Default App", "callbacks": [], - "client_metadata": {}, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, "sso_disabled": false, @@ -1231,7 +1222,7 @@ "subject": "deprecated" } ], - "client_id": "vVbUuOLzLQ9k7iwdZoLRtQuhG8XHUkSY", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1239,367 +1230,171 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], "custom_login_page_on": true - }, + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections?take=50&strategy=auth0", + "body": "", + "status": 200, + "response": { + "connections": [ { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" + "id": "con_3R2lX4rln4ArocW5", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true }, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "authentication": { + "active": true }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "O0AMH5MORoUOkQ8g31aPVmBZ11jyApI5", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false + "connected_accounts": { + "active": false }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" + "realms": [ + "Username-Password-Authentication" ], - "custom_login_page_on": true + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" + ] + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections/con_3R2lX4rln4ArocW5/clients?take=50", + "body": "", + "status": 200, + "response": { + "clients": [ + { + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" }, { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections/con_3R2lX4rln4ArocW5/clients?take=50", + "body": "", + "status": 200, + "response": { + "clients": [ + { + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" + }, + { + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections?take=50", + "body": "", + "status": 200, + "response": { + "connections": [ + { + "id": "con_lfhXlIY73LFJlMks", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "authentication": { + "active": true }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "allowed_origins": [], - "client_id": "88gPebiknBTdBHOAYrSdF2WWRyuroAax", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false + "connected_accounts": { + "active": false }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" + "realms": [ + "google-oauth2" ], - "web_origins": [], - "custom_login_page_on": true + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" + ] }, { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false + "id": "con_3R2lX4rln4ArocW5", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso": false, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "R9N1M3jJcxlEKpIcm4EX8glA7Krb9h1k", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "9ztJ1ZaM0iTa9eR2Ga08KOrwBNqNuRmr", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "8DngHjTrjB57cRXo74zYn4qohnAxjFsG", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?take=50&strategy=auth0", - "body": "", - "status": 200, - "response": { - "connections": [ - { - "id": "con_itdctyRSC3HQmlX0", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true }, "strategy": "auth0", "name": "Username-Password-Authentication", @@ -1614,8 +1409,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" ] } ] @@ -1626,13 +1421,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients?take=50", + "path": "/api/v2/connections/con_lfhXlIY73LFJlMks/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -1645,13 +1440,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients?take=50", + "path": "/api/v2/connections/con_lfhXlIY73LFJlMks/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -1664,127 +1459,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?take=50", - "body": "", - "status": 200, - "response": { - "connections": [ - { - "id": "con_mNzsGFqGTiRm8ck6", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "google-oauth2" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "u6litSM0kteNcq1warh1NdRpv0MJYaWa" - ] - }, - { - "id": "con_itdctyRSC3HQmlX0", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ - { - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" - }, - { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ - { - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" - }, - { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/tenants/settings", + "path": "/api/v2/tenants/settings", "body": "", "status": 200, "response": { @@ -1889,7 +1564,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/verify_email_by_code", + "path": "/api/v2/email-templates/blocked_account", "body": "", "status": 404, "response": { @@ -1904,7 +1579,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/stolen_credentials", + "path": "/api/v2/email-templates/reset_email", "body": "", "status": 404, "response": { @@ -1919,7 +1594,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/change_password", + "path": "/api/v2/email-templates/user_invitation", "body": "", "status": 404, "response": { @@ -1934,7 +1609,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email_by_code", + "path": "/api/v2/email-templates/stolen_credentials", "body": "", "status": 404, "response": { @@ -1949,7 +1624,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/async_approval", + "path": "/api/v2/email-templates/verify_email_by_code", "body": "", "status": 404, "response": { @@ -1964,7 +1639,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/enrollment_email", + "path": "/api/v2/email-templates/reset_email_by_code", "body": "", "status": 404, "response": { @@ -1979,7 +1654,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/user_invitation", + "path": "/api/v2/email-templates/mfa_oob_code", "body": "", "status": 404, "response": { @@ -1994,7 +1669,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/password_reset", + "path": "/api/v2/email-templates/async_approval", "body": "", "status": 404, "response": { @@ -2009,18 +1684,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/welcome_email", + "path": "/api/v2/email-templates/change_password", "body": "", - "status": 200, + "status": 404, "response": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" }, "rawHeaders": [], "responseIsBinary": false @@ -2028,7 +1699,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/mfa_oob_code", + "path": "/api/v2/email-templates/enrollment_email", "body": "", "status": 404, "response": { @@ -2043,7 +1714,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/blocked_account", + "path": "/api/v2/email-templates/password_reset", "body": "", "status": 404, "response": { @@ -2058,14 +1729,18 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email", + "path": "/api/v2/email-templates/welcome_email", "body": "", - "status": 404, + "status": 200, "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "from": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", + "syntax": "liquid", + "urlLifetimeInSeconds": 3600, + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -2332,7 +2007,7 @@ }, { "name": "push-notification", - "enabled": true, + "enabled": false, "trial_expired": false }, { @@ -2372,7 +2047,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/guardian/factors/sms/providers/twilio", + "path": "/api/v2/guardian/factors/push-notification/providers/sns", "body": "", "status": 200, "response": {}, @@ -2382,7 +2057,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/guardian/factors/push-notification/providers/sns", + "path": "/api/v2/guardian/factors/sms/providers/twilio", "body": "", "status": 200, "response": {}, @@ -2408,9 +2083,7 @@ "path": "/api/v2/guardian/policies", "body": "", "status": 200, - "response": [ - "all-applications" - ], + "response": [], "rawHeaders": [], "responseIsBinary": false }, @@ -2445,88 +2118,7 @@ "body": "", "status": 200, "response": { - "roles": [ - { - "id": "rol_jVbPH8r1ZIGS2gXN", - "name": "Admin", - "description": "Can read and write things" - }, - { - "id": "rol_xWADOPL9iJP4nUdr", - "name": "Reader", - "description": "Can only read things" - }, - { - "id": "rol_Iu8aIRwIrZ7Zk2Bz", - "name": "read_only", - "description": "Read Only" - }, - { - "id": "rol_hjHjIWbcLZccpcmF", - "name": "read_osnly", - "description": "Readz Only" - } - ], - "start": 0, - "limit": 100, - "total": 4 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_jVbPH8r1ZIGS2gXN/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_xWADOPL9iJP4nUdr/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_Iu8aIRwIrZ7Zk2Bz/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_hjHjIWbcLZccpcmF/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], + "roles": [], "start": 0, "limit": 100, "total": 0 @@ -2581,7 +2173,7 @@ }, "credentials": null, "created_at": "2025-12-09T12:24:00.604Z", - "updated_at": "2025-12-16T08:57:28.720Z" + "updated_at": "2025-12-16T10:10:43.073Z" } ] }, @@ -2596,6 +2188,22 @@ "status": 200, "response": { "templates": [ + { + "id": "tem_xqbUSF83fpnRv8r8rqXFDZ", + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "change_password", + "disabled": false, + "created_at": "2025-12-09T12:26:20.243Z", + "updated_at": "2025-12-16T08:58:36.831Z", + "content": { + "syntax": "liquid", + "body": { + "text": "{{ code | escape }} is your password change code for {{ friendly_name | escape }}", + "voice": "Hello. Your password change code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your password change code is {{ pause }} {{ code | escape }}" + } + } + }, { "id": "tem_dL83uTmWn8moGzm8UgAk4Q", "tenant": "auth0-deploy-cli-e2e", @@ -2603,7 +2211,7 @@ "type": "blocked_account", "disabled": false, "created_at": "2025-12-09T12:22:47.683Z", - "updated_at": "2025-12-16T05:15:21.194Z", + "updated_at": "2025-12-16T08:58:36.736Z", "content": { "syntax": "liquid", "body": { @@ -2614,18 +2222,18 @@ } }, { - "id": "tem_xqbUSF83fpnRv8r8rqXFDZ", + "id": "tem_o4LBTt4NQyX8K4vC9dPafR", "tenant": "auth0-deploy-cli-e2e", "channel": "phone", - "type": "change_password", + "type": "otp_verify", "disabled": false, - "created_at": "2025-12-09T12:26:20.243Z", - "updated_at": "2025-12-16T05:15:21.476Z", + "created_at": "2025-12-09T12:26:30.547Z", + "updated_at": "2025-12-16T08:58:37.073Z", "content": { "syntax": "liquid", "body": { - "text": "{{ code | escape }} is your password change code for {{ friendly_name | escape }}", - "voice": "Hello. Your password change code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your password change code is {{ pause }} {{ code | escape }}" + "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}", + "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" } } }, @@ -2636,7 +2244,7 @@ "type": "otp_enroll", "disabled": false, "created_at": "2025-12-09T12:26:25.327Z", - "updated_at": "2025-12-16T05:15:21.567Z", + "updated_at": "2025-12-16T08:58:36.804Z", "content": { "syntax": "liquid", "body": { @@ -2644,22 +2252,6 @@ "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" } } - }, - { - "id": "tem_o4LBTt4NQyX8K4vC9dPafR", - "tenant": "auth0-deploy-cli-e2e", - "channel": "phone", - "type": "otp_verify", - "disabled": false, - "created_at": "2025-12-09T12:26:30.547Z", - "updated_at": "2025-12-16T05:15:21.814Z", - "content": { - "syntax": "liquid", - "body": { - "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}", - "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" - } - } } ] }, @@ -2754,7 +2346,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login/custom-text/en", + "path": "/api/v2/prompts/login-id/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2764,7 +2356,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/custom-text/en", + "path": "/api/v2/prompts/login/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2784,7 +2376,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-email-verification/custom-text/en", + "path": "/api/v2/prompts/login-passwordless/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2794,7 +2386,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-passwordless/custom-text/en", + "path": "/api/v2/prompts/login-email-verification/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2814,7 +2406,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-email-verification/custom-text/en", + "path": "/api/v2/prompts/signup-id/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2844,7 +2436,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup-id/custom-text/en", + "path": "/api/v2/prompts/phone-identifier-challenge/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2864,7 +2456,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/phone-identifier-challenge/custom-text/en", + "path": "/api/v2/prompts/reset-password/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2874,7 +2466,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/reset-password/custom-text/en", + "path": "/api/v2/prompts/custom-form/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2884,7 +2476,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/custom-form/custom-text/en", + "path": "/api/v2/prompts/consent/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2894,7 +2486,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/consent/custom-text/en", + "path": "/api/v2/prompts/customized-consent/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2914,7 +2506,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/customized-consent/custom-text/en", + "path": "/api/v2/prompts/mfa-otp/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2951,16 +2543,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/prompts/mfa-otp/custom-text/en", - "body": "", - "status": 200, - "response": {}, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -3014,7 +2596,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/status/custom-text/en", + "path": "/api/v2/prompts/device-flow/custom-text/en", "body": "", "status": 200, "response": {}, @@ -3024,7 +2606,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/device-flow/custom-text/en", + "path": "/api/v2/prompts/status/custom-text/en", "body": "", "status": 200, "response": {}, @@ -3044,7 +2626,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/organizations/custom-text/en", + "path": "/api/v2/prompts/email-otp-challenge/custom-text/en", "body": "", "status": 200, "response": {}, @@ -3054,7 +2636,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/email-otp-challenge/custom-text/en", + "path": "/api/v2/prompts/organizations/custom-text/en", "body": "", "status": 200, "response": {}, @@ -3114,7 +2696,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login/partials", + "path": "/api/v2/prompts/login-password/partials", "body": "", "status": 200, "response": {}, @@ -3134,7 +2716,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-password/partials", + "path": "/api/v2/prompts/login-id/partials", "body": "", "status": 200, "response": {}, @@ -3164,7 +2746,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-passwordless/partials", + "path": "/api/v2/prompts/signup-id/partials", "body": "", "status": 200, "response": {}, @@ -3205,7 +2787,7 @@ "response": { "actions": [ { - "id": "2b25f34b-cc41-4b78-8eb0-861be0f30f1d", + "id": "ead7d2a3-5a93-43e2-9ec3-455f3c39daf9", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -3213,34 +2795,34 @@ "version": "v1" } ], - "created_at": "2025-12-16T08:57:07.885769307Z", - "updated_at": "2025-12-16T08:57:26.631290374Z", + "created_at": "2025-12-16T10:10:30.752146844Z", + "updated_at": "2025-12-16T10:10:40.768168491Z", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], "runtime": "node22", "status": "built", "secrets": [], "current_version": { - "id": "c371605e-7764-4853-9b1d-f99acc48ed60", + "id": "07db7147-9c58-45ac-ad9b-07d88303a9fc", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "runtime": "node22", "status": "BUILT", "number": 1, - "build_time": "2025-12-16T08:57:27.672686269Z", - "created_at": "2025-12-16T08:57:27.628747836Z", - "updated_at": "2025-12-16T08:57:27.672991951Z" + "build_time": "2025-12-16T10:10:41.915596370Z", + "created_at": "2025-12-16T10:10:41.831216643Z", + "updated_at": "2025-12-16T10:10:41.917804190Z" }, "deployed_version": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "c371605e-7764-4853-9b1d-f99acc48ed60", + "id": "07db7147-9c58-45ac-ad9b-07d88303a9fc", "deployed": true, "number": 1, - "built_at": "2025-12-16T08:57:27.672686269Z", + "built_at": "2025-12-16T10:10:41.915596370Z", "secrets": [], "status": "built", - "created_at": "2025-12-16T08:57:27.628747836Z", - "updated_at": "2025-12-16T08:57:27.672991951Z", + "created_at": "2025-12-16T10:10:41.831216643Z", + "updated_at": "2025-12-16T10:10:41.917804190Z", "runtime": "node22", "supported_triggers": [ { @@ -3266,6 +2848,18 @@ "status": 200, "response": { "triggers": [ + { + "id": "post-login", + "version": "v2", + "status": "DEPRECATED", + "runtimes": [ + "node12", + "node18" + ], + "default_runtime": "node16", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, { "id": "post-login", "version": "v3", @@ -3284,18 +2878,19 @@ ] }, { - "id": "post-login", + "id": "credentials-exchange", "version": "v2", - "status": "DEPRECATED", + "status": "CURRENT", "runtimes": [ - "node18" + "node18-actions", + "node22" ], - "default_runtime": "node16", + "default_runtime": "node22", "binding_policy": "trigger-bound", "compatible_triggers": [] }, { - "id": "credentials-exchange", + "id": "pre-user-registration", "version": "v2", "status": "CURRENT", "runtimes": [ @@ -3308,7 +2903,7 @@ "compatible_triggers": [] }, { - "id": "pre-user-registration", + "id": "post-user-registration", "version": "v1", "status": "DEPRECATED", "runtimes": [ @@ -3319,7 +2914,7 @@ "compatible_triggers": [] }, { - "id": "pre-user-registration", + "id": "post-user-registration", "version": "v2", "status": "CURRENT", "runtimes": [ @@ -3331,11 +2926,10 @@ "compatible_triggers": [] }, { - "id": "post-user-registration", + "id": "post-change-password", "version": "v2", "status": "CURRENT", "runtimes": [ - "node12", "node18-actions", "node22" ], @@ -3344,15 +2938,13 @@ "compatible_triggers": [] }, { - "id": "post-change-password", - "version": "v2", - "status": "CURRENT", + "id": "send-phone-message", + "version": "v1", + "status": "DEPRECATED", "runtimes": [ - "node12", - "node18-actions", - "node22" + "node12" ], - "default_runtime": "node22", + "default_runtime": "node12", "binding_policy": "trigger-bound", "compatible_triggers": [] }, @@ -3361,7 +2953,6 @@ "version": "v2", "status": "CURRENT", "runtimes": [ - "node12", "node18-actions", "node22" ], @@ -3569,10 +3160,10 @@ "response": { "bindings": [ { - "id": "59cee46c-795d-42d6-9482-e3fc029ce176", + "id": "6992e6d2-9dc9-4709-9c32-1054748c9d49", "trigger_id": "custom-phone-provider", "action": { - "id": "2b25f34b-cc41-4b78-8eb0-861be0f30f1d", + "id": "ead7d2a3-5a93-43e2-9ec3-455f3c39daf9", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -3580,29 +3171,29 @@ "version": "v1" } ], - "created_at": "2025-12-16T08:57:07.885769307Z", - "updated_at": "2025-12-16T08:57:26.620838969Z", + "created_at": "2025-12-16T10:10:30.752146844Z", + "updated_at": "2025-12-16T10:10:40.760476319Z", "current_version": { - "id": "c371605e-7764-4853-9b1d-f99acc48ed60", + "id": "07db7147-9c58-45ac-ad9b-07d88303a9fc", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "runtime": "node22", "status": "BUILT", "number": 1, - "build_time": "2025-12-16T08:57:27.672686269Z", - "created_at": "2025-12-16T08:57:27.628747836Z", - "updated_at": "2025-12-16T08:57:27.672991951Z" + "build_time": "2025-12-16T10:10:41.915596370Z", + "created_at": "2025-12-16T10:10:41.831216643Z", + "updated_at": "2025-12-16T10:10:41.917804190Z" }, "deployed_version": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "c371605e-7764-4853-9b1d-f99acc48ed60", + "id": "07db7147-9c58-45ac-ad9b-07d88303a9fc", "deployed": true, "number": 1, - "built_at": "2025-12-16T08:57:27.672686269Z", + "built_at": "2025-12-16T10:10:41.915596370Z", "secrets": [], "status": "built", - "created_at": "2025-12-16T08:57:27.628747836Z", - "updated_at": "2025-12-16T08:57:27.672991951Z", + "created_at": "2025-12-16T10:10:41.831216643Z", + "updated_at": "2025-12-16T10:10:41.917804190Z", "runtime": "node22", "supported_triggers": [ { @@ -3613,8 +3204,8 @@ }, "all_changes_deployed": false }, - "created_at": "2025-12-16T08:57:28.673623690Z", - "updated_at": "2025-12-16T08:57:28.673623690Z", + "created_at": "2025-12-16T10:10:43.021381087Z", + "updated_at": "2025-12-16T10:10:43.021381087Z", "display_name": "Custom Phone Provider" } ], @@ -3695,7 +3286,7 @@ "body": "", "status": 200, "response": { - "total": 9, + "total": 3, "start": 0, "limit": 100, "clients": [ @@ -3760,122 +3351,15 @@ "is_token_endpoint_ip_header_trusted": false, "name": "Default App", "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "vVbUuOLzLQ9k7iwdZoLRtQuhG8XHUkSY", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "O0AMH5MORoUOkQ8g31aPVmBZ11jyApI5", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, "sso_disabled": false, @@ -3888,8 +3372,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "88gPebiknBTdBHOAYrSdF2WWRyuroAax", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3897,36 +3380,20 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", "grant_types": [ "authorization_code", "implicit", "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], + "global": true, "callbacks": [], - "client_metadata": {}, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, + "name": "All Applications", "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -3936,54 +3403,17 @@ "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, - "sso": false, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, "signing_keys": [ { "cert": "[REDACTED]", @@ -3991,175 +3421,34 @@ "subject": "deprecated" } ], - "client_id": "R9N1M3jJcxlEKpIcm4EX8glA7Krb9h1k", - "callback_url_template": false, + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], "custom_login_page_on": true + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/attack-protection/breached-password-detection", + "body": "", + "status": 200, + "response": { + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard", + "stage": { + "pre-user-registration": { + "shields": [] }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "9ztJ1ZaM0iTa9eR2Ga08KOrwBNqNuRmr", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "8DngHjTrjB57cRXo74zYn4qohnAxjFsG", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], - "is_first_party": true, - "name": "All Applications", - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true + "pre-change-password": { + "shields": [] } - ] + } }, "rawHeaders": [], "responseIsBinary": false @@ -4183,29 +3472,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/attack-protection/breached-password-detection", - "body": "", - "status": 200, - "response": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard", - "stage": { - "pre-user-registration": { - "shields": [] - }, - "pre-change-password": { - "shields": [] - } - } - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -4237,6 +3503,23 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/attack-protection/bot-detection", + "body": "", + "status": 200, + "response": { + "challenge_password_policy": "never", + "challenge_passwordless_policy": "never", + "challenge_password_reset_policy": "never", + "allowlist": [], + "bot_detection_level": "medium", + "monitoring_mode_enabled": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -4272,92 +3555,13 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/attack-protection/bot-detection", - "body": "", - "status": 200, - "response": { - "challenge_password_policy": "never", - "challenge_passwordless_policy": "never", - "challenge_password_reset_policy": "never", - "allowlist": [], - "bot_detection_level": "medium", - "monitoring_mode_enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", "path": "/api/v2/log-streams", "body": "", "status": 200, - "response": [ - { - "id": "lst_0000000000025369", - "name": "Suspended DD Log Stream", - "type": "datadog", - "status": "active", - "sink": { - "datadogApiKey": "some-sensitive-api-key", - "datadogRegion": "us" - }, - "isPriority": false - }, - { - "id": "lst_0000000000025370", - "name": "Amazon EventBridge", - "type": "eventbridge", - "status": "active", - "sink": { - "awsAccountId": "123456789012", - "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-cfc5325e-4577-409f-8e7b-2e4a664cb6ff/auth0.logs" - }, - "filters": [ - { - "type": "category", - "name": "auth.login.success" - }, - { - "type": "category", - "name": "auth.login.notification" - }, - { - "type": "category", - "name": "auth.login.fail" - }, - { - "type": "category", - "name": "auth.signup.success" - }, - { - "type": "category", - "name": "auth.logout.success" - }, - { - "type": "category", - "name": "auth.logout.fail" - }, - { - "type": "category", - "name": "auth.silent_auth.fail" - }, - { - "type": "category", - "name": "auth.silent_auth.success" - }, - { - "type": "category", - "name": "auth.token_exchange.fail" - } - ], - "isPriority": false - } - ], + "response": [], "rawHeaders": [], "responseIsBinary": false }, @@ -4417,7 +3621,7 @@ "name": "Blank-form", "flow_count": 0, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-16T05:20:48.391Z" + "updated_at": "2025-12-16T09:02:21.881Z" } ] }, @@ -4488,7 +3692,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-16T05:20:48.391Z" + "updated_at": "2025-12-16T09:02:21.881Z" }, "rawHeaders": [], "responseIsBinary": false @@ -4597,7 +3801,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-16T05:20:33.067Z", + "updated_at": "2025-12-16T09:02:11.327Z", "branding": { "colors": { "primary": "#19aecc" @@ -4649,7 +3853,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-16T08:54:08.759Z", + "updated_at": "2025-12-16T10:09:43.241Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] @@ -4739,30 +3943,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connection-profiles?take=10", - "body": "", - "status": 200, - "response": { - "connection_profiles": [] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connection-profiles?take=10", - "body": "", - "status": 200, - "response": { - "connection_profiles": [] - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -5981,7 +5161,7 @@ "body": "", "status": 200, "response": { - "total": 8, + "total": 2, "start": 0, "limit": 100, "clients": [ @@ -6046,173 +5226,8 @@ "is_token_endpoint_ip_header_trusted": false, "name": "Default App", "callbacks": [], - "client_metadata": {}, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "vVbUuOLzLQ9k7iwdZoLRtQuhG8XHUkSY", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "O0AMH5MORoUOkQ8g31aPVmBZ11jyApI5", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "allowed_origins": [], - "client_id": "88gPebiknBTdBHOAYrSdF2WWRyuroAax", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "web_origins": [], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -6222,7 +5237,6 @@ "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "cross_origin_auth": false, @@ -6233,7 +5247,7 @@ "subject": "deprecated" } ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6241,8 +5255,6 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", @@ -6250,230 +5262,74 @@ "client_credentials" ], "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "R9N1M3jJcxlEKpIcm4EX8glA7Krb9h1k", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "9ztJ1ZaM0iTa9eR2Ga08KOrwBNqNuRmr", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "8DngHjTrjB57cRXo74zYn4qohnAxjFsG", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/clients/u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "body": { - "name": "Default App", - "callbacks": [], - "cross_origin_authentication": false, - "custom_login_page_on": true, - "grant_types": [ - "client_credentials" - ], - "is_first_party": true, - "is_token_endpoint_ip_header_trusted": false, - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000 - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post" - }, - "status": 200, - "response": { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", - "callbacks": [], - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/clients/lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", + "body": { + "name": "Default App", + "callbacks": [], + "cross_origin_authentication": false, + "custom_login_page_on": true, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "is_first_party": true, + "is_token_endpoint_ip_header_trusted": false, + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000 + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false + }, + "status": 200, + "response": { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Default App", + "callbacks": [], + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "cross_origin_auth": false, + "signing_keys": [ { "cert": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "O0AMH5MORoUOkQ8g31aPVmBZ11jyApI5", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6481,9 +5337,10 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -6493,514 +5350,70 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/clients/88gPebiknBTdBHOAYrSdF2WWRyuroAax", + "method": "PUT", + "path": "/api/v2/guardian/factors/duo", "body": { - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "allowed_origins": [], - "app_type": "regular_web", - "callbacks": [], - "client_aliases": [], - "client_metadata": {}, - "cross_origin_authentication": false, - "custom_login_page_on": true, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "is_first_party": true, - "is_token_endpoint_ip_header_trusted": false, - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000 - }, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post", - "web_origins": [] + "enabled": false }, "status": 200, "response": { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" - } - ], - "allowed_origins": [], - "client_id": "88gPebiknBTdBHOAYrSdF2WWRyuroAax", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "web_origins": [], - "custom_login_page_on": true + "enabled": false }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/clients/9ztJ1ZaM0iTa9eR2Ga08KOrwBNqNuRmr", + "method": "PUT", + "path": "/api/v2/guardian/factors/email", "body": { - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "app_type": "spa", - "callbacks": [ - "http://localhost:3000" - ], - "client_aliases": [], - "client_metadata": {}, - "cross_origin_authentication": false, - "custom_login_page_on": true, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "is_first_party": true, - "is_token_endpoint_ip_header_trusted": false, - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000 - }, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "token_endpoint_auth_method": "none", - "web_origins": [ - "http://localhost:3000" - ] + "enabled": false }, "status": 200, "response": { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" - } - ], - "client_id": "9ztJ1ZaM0iTa9eR2Ga08KOrwBNqNuRmr", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true + "enabled": false }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/clients/7vlUKQihTlaGoILrgQ51JW4xMbU1XhI0", + "method": "PUT", + "path": "/api/v2/guardian/factors/recovery-code", "body": { - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_aliases": [], - "client_metadata": {}, - "cross_origin_authentication": false, - "custom_login_page_on": true, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "is_first_party": true, - "is_token_endpoint_ip_header_trusted": false, - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000 - }, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso": false, - "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post" + "enabled": false }, "status": 200, "response": { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso": false, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" - } - ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true + "enabled": false }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/clients/R9N1M3jJcxlEKpIcm4EX8glA7Krb9h1k", + "method": "PUT", + "path": "/api/v2/guardian/factors/sms", "body": { - "name": "Terraform Provider", - "app_type": "non_interactive", - "cross_origin_authentication": false, - "custom_login_page_on": true, - "grant_types": [ - "client_credentials" - ], - "is_first_party": true, - "is_token_endpoint_ip_header_trusted": false, - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000 - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post" + "enabled": false }, "status": 200, "response": { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" - } - ], - "client_id": "R9N1M3jJcxlEKpIcm4EX8glA7Krb9h1k", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true + "enabled": false }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/clients/8DngHjTrjB57cRXo74zYn4qohnAxjFsG", + "method": "PUT", + "path": "/api/v2/guardian/factors/otp", "body": { - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "app_type": "non_interactive", - "callbacks": [], - "client_aliases": [], - "client_metadata": {}, - "cross_origin_authentication": false, - "custom_login_page_on": true, - "grant_types": [ - "client_credentials" - ], - "is_first_party": true, - "is_token_endpoint_ip_header_trusted": false, - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000 - }, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post" + "enabled": false }, "status": 200, "response": { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" - } - ], - "client_id": "8DngHjTrjB57cRXo74zYn4qohnAxjFsG", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -7008,7 +5421,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/email", + "path": "/api/v2/guardian/factors/webauthn-roaming", "body": { "enabled": false }, @@ -7022,7 +5435,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-platform", + "path": "/api/v2/guardian/factors/push-notification", "body": { "enabled": false }, @@ -7036,7 +5449,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/otp", + "path": "/api/v2/guardian/factors/webauthn-platform", "body": { "enabled": false }, @@ -7050,13 +5463,15 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/sms/templates", "body": { - "enabled": false + "enrollment_message": "enroll foo", + "verification_message": "verify foo" }, "status": 200, "response": { - "enabled": false + "enrollment_message": "enroll foo", + "verification_message": "verify foo" }, "rawHeaders": [], "responseIsBinary": false @@ -7064,27 +5479,23 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/recovery-code", - "body": { - "enabled": false - }, + "path": "/api/v2/guardian/policies", + "body": [], "status": 200, - "response": { - "enabled": false - }, + "response": [], "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", + "path": "/api/v2/guardian/factors/phone/selected-provider", "body": { - "enabled": false + "provider": "auth0" }, "status": 200, "response": { - "enabled": false + "provider": "auth0" }, "rawHeaders": [], "responseIsBinary": false @@ -7092,71 +5503,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/push-notification", + "path": "/api/v2/guardian/factors/phone/message-types", "body": { - "enabled": true + "message_types": [] }, "status": 200, "response": { - "enabled": true - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PUT", - "path": "/api/v2/guardian/factors/sms/templates", - "body": { - "enrollment_message": "enroll foo", - "verification_message": "verify foo" - }, - "status": 200, - "response": { - "enrollment_message": "enroll foo", - "verification_message": "verify foo" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PUT", - "path": "/api/v2/guardian/policies", - "body": [ - "all-applications" - ], - "status": 200, - "response": [ - "all-applications" - ], - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PUT", - "path": "/api/v2/guardian/factors/phone/selected-provider", - "body": { - "provider": "auth0" - }, - "status": 200, - "response": { - "provider": "auth0" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PUT", - "path": "/api/v2/guardian/factors/phone/message-types", - "body": { - "message_types": [] - }, - "status": 200, - "response": { - "message_types": [] + "message_types": [] }, "rawHeaders": [], "responseIsBinary": false @@ -7186,7 +5539,7 @@ "response": { "actions": [ { - "id": "2b25f34b-cc41-4b78-8eb0-861be0f30f1d", + "id": "ead7d2a3-5a93-43e2-9ec3-455f3c39daf9", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -7194,34 +5547,34 @@ "version": "v1" } ], - "created_at": "2025-12-16T08:57:07.885769307Z", - "updated_at": "2025-12-16T08:57:26.631290374Z", + "created_at": "2025-12-16T10:10:30.752146844Z", + "updated_at": "2025-12-16T10:10:40.768168491Z", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], "runtime": "node22", "status": "built", "secrets": [], "current_version": { - "id": "c371605e-7764-4853-9b1d-f99acc48ed60", + "id": "07db7147-9c58-45ac-ad9b-07d88303a9fc", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "runtime": "node22", "status": "BUILT", "number": 1, - "build_time": "2025-12-16T08:57:27.672686269Z", - "created_at": "2025-12-16T08:57:27.628747836Z", - "updated_at": "2025-12-16T08:57:27.672991951Z" + "build_time": "2025-12-16T10:10:41.915596370Z", + "created_at": "2025-12-16T10:10:41.831216643Z", + "updated_at": "2025-12-16T10:10:41.917804190Z" }, "deployed_version": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "c371605e-7764-4853-9b1d-f99acc48ed60", + "id": "07db7147-9c58-45ac-ad9b-07d88303a9fc", "deployed": true, "number": 1, - "built_at": "2025-12-16T08:57:27.672686269Z", + "built_at": "2025-12-16T10:10:41.915596370Z", "secrets": [], "status": "built", - "created_at": "2025-12-16T08:57:27.628747836Z", - "updated_at": "2025-12-16T08:57:27.672991951Z", + "created_at": "2025-12-16T10:10:41.831216643Z", + "updated_at": "2025-12-16T10:10:41.917804190Z", "runtime": "node22", "supported_triggers": [ { @@ -7242,7 +5595,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/actions/actions/2b25f34b-cc41-4b78-8eb0-861be0f30f1d", + "path": "/api/v2/actions/actions/ead7d2a3-5a93-43e2-9ec3-455f3c39daf9", "body": { "name": "Custom Phone Provider", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", @@ -7258,7 +5611,7 @@ }, "status": 200, "response": { - "id": "2b25f34b-cc41-4b78-8eb0-861be0f30f1d", + "id": "ead7d2a3-5a93-43e2-9ec3-455f3c39daf9", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -7266,34 +5619,34 @@ "version": "v1" } ], - "created_at": "2025-12-16T08:57:07.885769307Z", - "updated_at": "2025-12-16T08:58:22.911650706Z", + "created_at": "2025-12-16T10:10:30.752146844Z", + "updated_at": "2025-12-16T10:11:36.910288525Z", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], "runtime": "node22", "status": "pending", "secrets": [], "current_version": { - "id": "c371605e-7764-4853-9b1d-f99acc48ed60", + "id": "07db7147-9c58-45ac-ad9b-07d88303a9fc", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "runtime": "node22", "status": "BUILT", "number": 1, - "build_time": "2025-12-16T08:57:27.672686269Z", - "created_at": "2025-12-16T08:57:27.628747836Z", - "updated_at": "2025-12-16T08:57:27.672991951Z" + "build_time": "2025-12-16T10:10:41.915596370Z", + "created_at": "2025-12-16T10:10:41.831216643Z", + "updated_at": "2025-12-16T10:10:41.917804190Z" }, "deployed_version": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "c371605e-7764-4853-9b1d-f99acc48ed60", + "id": "07db7147-9c58-45ac-ad9b-07d88303a9fc", "deployed": true, "number": 1, - "built_at": "2025-12-16T08:57:27.672686269Z", + "built_at": "2025-12-16T10:10:41.915596370Z", "secrets": [], "status": "built", - "created_at": "2025-12-16T08:57:27.628747836Z", - "updated_at": "2025-12-16T08:57:27.672991951Z", + "created_at": "2025-12-16T10:10:41.831216643Z", + "updated_at": "2025-12-16T10:10:41.917804190Z", "runtime": "node22", "supported_triggers": [ { @@ -7316,7 +5669,7 @@ "response": { "actions": [ { - "id": "2b25f34b-cc41-4b78-8eb0-861be0f30f1d", + "id": "ead7d2a3-5a93-43e2-9ec3-455f3c39daf9", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -7324,34 +5677,34 @@ "version": "v1" } ], - "created_at": "2025-12-16T08:57:07.885769307Z", - "updated_at": "2025-12-16T08:58:22.911650706Z", + "created_at": "2025-12-16T10:10:30.752146844Z", + "updated_at": "2025-12-16T10:11:36.910288525Z", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], "runtime": "node22", "status": "built", "secrets": [], "current_version": { - "id": "c371605e-7764-4853-9b1d-f99acc48ed60", + "id": "07db7147-9c58-45ac-ad9b-07d88303a9fc", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "runtime": "node22", "status": "BUILT", "number": 1, - "build_time": "2025-12-16T08:57:27.672686269Z", - "created_at": "2025-12-16T08:57:27.628747836Z", - "updated_at": "2025-12-16T08:57:27.672991951Z" + "build_time": "2025-12-16T10:10:41.915596370Z", + "created_at": "2025-12-16T10:10:41.831216643Z", + "updated_at": "2025-12-16T10:10:41.917804190Z" }, "deployed_version": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "c371605e-7764-4853-9b1d-f99acc48ed60", + "id": "07db7147-9c58-45ac-ad9b-07d88303a9fc", "deployed": true, "number": 1, - "built_at": "2025-12-16T08:57:27.672686269Z", + "built_at": "2025-12-16T10:10:41.915596370Z", "secrets": [], "status": "built", - "created_at": "2025-12-16T08:57:27.628747836Z", - "updated_at": "2025-12-16T08:57:27.672991951Z", + "created_at": "2025-12-16T10:10:41.831216643Z", + "updated_at": "2025-12-16T10:10:41.917804190Z", "runtime": "node22", "supported_triggers": [ { @@ -7372,19 +5725,19 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "POST", - "path": "/api/v2/actions/actions/2b25f34b-cc41-4b78-8eb0-861be0f30f1d/deploy", + "path": "/api/v2/actions/actions/ead7d2a3-5a93-43e2-9ec3-455f3c39daf9/deploy", "body": "", "status": 200, "response": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "77a70d48-694c-4055-becb-b10b99ee73f4", + "id": "83a87aec-f6f7-42bb-b6ad-6fa170f652d1", "deployed": false, "number": 2, "secrets": [], "status": "built", - "created_at": "2025-12-16T08:58:23.642622798Z", - "updated_at": "2025-12-16T08:58:23.642622798Z", + "created_at": "2025-12-16T10:11:37.627490560Z", + "updated_at": "2025-12-16T10:11:37.627490560Z", "runtime": "node22", "supported_triggers": [ { @@ -7393,7 +5746,7 @@ } ], "action": { - "id": "2b25f34b-cc41-4b78-8eb0-861be0f30f1d", + "id": "ead7d2a3-5a93-43e2-9ec3-455f3c39daf9", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -7401,8 +5754,8 @@ "version": "v1" } ], - "created_at": "2025-12-16T08:57:07.885769307Z", - "updated_at": "2025-12-16T08:58:22.906332840Z", + "created_at": "2025-12-16T10:10:30.752146844Z", + "updated_at": "2025-12-16T10:11:36.902340019Z", "all_changes_deployed": false } }, @@ -7412,27 +5765,23 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/attack-protection/brute-force-protection", + "path": "/api/v2/attack-protection/bot-detection", "body": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", + "challenge_password_policy": "never", + "challenge_passwordless_policy": "never", + "challenge_password_reset_policy": "never", "allowlist": [], - "max_attempts": 66 + "bot_detection_level": "medium", + "monitoring_mode_enabled": false }, "status": 200, "response": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", + "challenge_password_policy": "never", + "challenge_passwordless_policy": "never", + "challenge_password_reset_policy": "never", "allowlist": [], - "max_attempts": 66 + "bot_detection_level": "medium", + "monitoring_mode_enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -7484,19 +5833,22 @@ "body": { "enabled": true, "shields": [ - "admin_notification" - ], - "allowlist": [ - "127.0.0.1" + "admin_notification", + "block" ], + "allowlist": [], "stage": { "pre-login": { - "max_attempts": 66, + "max_attempts": 100, "rate": 864000 }, "pre-user-registration": { - "max_attempts": 66, + "max_attempts": 50, "rate": 1200 + }, + "pre-custom-token-exchange": { + "max_attempts": 10, + "rate": 600000 } } }, @@ -7504,89 +5856,28 @@ "response": { "enabled": true, "shields": [ - "admin_notification" - ], - "allowlist": [ - "127.0.0.1" + "admin_notification", + "block" ], + "allowlist": [], "stage": { "pre-login": { - "max_attempts": 66, + "max_attempts": 100, "rate": 864000 }, "pre-user-registration": { - "max_attempts": 66, + "max_attempts": 50, "rate": 1200 + }, + "pre-custom-token-exchange": { + "max_attempts": 10, + "rate": 600000 } } }, "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/bot-detection", - "body": { - "challenge_password_policy": "never", - "challenge_passwordless_policy": "never", - "challenge_password_reset_policy": "never", - "allowlist": [], - "bot_detection_level": "medium", - "monitoring_mode_enabled": false - }, - "status": 200, - "response": { - "challenge_password_policy": "never", - "challenge_passwordless_policy": "never", - "challenge_password_reset_policy": "never", - "allowlist": [], - "bot_detection_level": "medium", - "monitoring_mode_enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/captcha", - "body": { - "active_provider_id": "auth_challenge", - "auth_challenge": { - "fail_open": false - } - }, - "status": 200, - "response": { - "active_provider_id": "auth_challenge", - "simple_captcha": {}, - "auth_challenge": { - "fail_open": false - }, - "recaptcha_v2": { - "site_key": "" - }, - "recaptcha_enterprise": { - "site_key": "", - "project_id": "" - }, - "hcaptcha": { - "site_key": "" - }, - "friendly_captcha": { - "site_key": "" - }, - "arkose": { - "site_key": "", - "client_subdomain": "client-api", - "verify_subdomain": "verify-api", - "fail_open": false - } - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -7626,51 +5917,27 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/attack-protection/suspicious-ip-throttling", + "path": "/api/v2/attack-protection/brute-force-protection", "body": { "enabled": true, "shields": [ - "admin_notification", - "block" + "block", + "user_notification" ], + "mode": "count_per_identifier_and_ip", "allowlist": [], - "stage": { - "pre-login": { - "max_attempts": 100, - "rate": 864000 - }, - "pre-user-registration": { - "max_attempts": 50, - "rate": 1200 - }, - "pre-custom-token-exchange": { - "max_attempts": 10, - "rate": 600000 - } - } + "max_attempts": 10 }, "status": 200, "response": { "enabled": true, "shields": [ - "admin_notification", - "block" + "block", + "user_notification" ], + "mode": "count_per_identifier_and_ip", "allowlist": [], - "stage": { - "pre-login": { - "max_attempts": 100, - "rate": 864000 - }, - "pre-user-registration": { - "max_attempts": 50, - "rate": 1200 - }, - "pre-custom-token-exchange": { - "max_attempts": 10, - "rate": 600000 - } - } + "max_attempts": 10 }, "rawHeaders": [], "responseIsBinary": false @@ -7712,7 +5979,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-16T08:54:08.759Z", + "updated_at": "2025-12-16T10:09:43.241Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] @@ -7757,7 +6024,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-16T08:58:25.157Z", + "updated_at": "2025-12-16T10:11:39.157Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" }, "rawHeaders": [], @@ -7867,6 +6134,55 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/user-attribute-profiles/uap_1csDj3sAVu6n5eTzLw6XZg", + "body": { + "name": "test-user-attribute-profile", + "user_attributes": { + "email": { + "label": "Email", + "description": "Email of the User", + "auth0_mapping": "email", + "profile_required": true + } + }, + "user_id": { + "oidc_mapping": "sub", + "saml_mapping": [ + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" + ], + "scim_mapping": "externalId" + } + }, + "status": 200, + "response": { + "id": "uap_1csDj3sAVu6n5eTzLw6XZg", + "name": "test-user-attribute-profile", + "user_id": { + "oidc_mapping": "sub", + "saml_mapping": [ + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" + ], + "scim_mapping": "externalId" + }, + "user_attributes": { + "email": { + "label": "Email", + "description": "Email of the User", + "auth0_mapping": "email", + "profile_required": true + } + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -7951,7 +6267,6 @@ "is_token_endpoint_ip_header_trusted": false, "name": "Default App", "callbacks": [], - "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -7965,6 +6280,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -7972,7 +6288,7 @@ "subject": "deprecated" } ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8039,7 +6355,7 @@ "response": { "connections": [ { - "id": "con_itdctyRSC3HQmlX0", + "id": "con_3R2lX4rln4ArocW5", "options": { "mfa": { "active": true, @@ -8076,8 +6392,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" ] } ] @@ -8094,7 +6410,7 @@ "response": { "connections": [ { - "id": "con_itdctyRSC3HQmlX0", + "id": "con_3R2lX4rln4ArocW5", "options": { "mfa": { "active": true, @@ -8131,8 +6447,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" ] } ] @@ -8143,13 +6459,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients?take=50", + "path": "/api/v2/connections/con_3R2lX4rln4ArocW5/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -8162,13 +6478,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients?take=50", + "path": "/api/v2/connections/con_3R2lX4rln4ArocW5/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -8181,11 +6497,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_itdctyRSC3HQmlX0", + "path": "/api/v2/connections/con_3R2lX4rln4ArocW5", "body": "", "status": 200, "response": { - "id": "con_itdctyRSC3HQmlX0", + "id": "con_3R2lX4rln4ArocW5", "options": { "mfa": { "active": true, @@ -8219,8 +6535,8 @@ "active": false }, "enabled_clients": [ - "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" ], "realms": [ "Username-Password-Authentication" @@ -8232,7 +6548,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_itdctyRSC3HQmlX0", + "path": "/api/v2/connections/con_3R2lX4rln4ArocW5", "body": { "authentication": { "active": true @@ -8242,7 +6558,7 @@ }, "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" ], "is_domain_connection": false, "options": { @@ -8274,7 +6590,7 @@ }, "status": 200, "response": { - "id": "con_itdctyRSC3HQmlX0", + "id": "con_3R2lX4rln4ArocW5", "options": { "mfa": { "active": true, @@ -8309,7 +6625,7 @@ }, "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" ], "realms": [ "Username-Password-Authentication" @@ -8321,63 +6637,19 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients", + "path": "/api/v2/connections/con_3R2lX4rln4ArocW5/clients", "body": [ { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "status": true }, { - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "status": true } - }, - "status": 200, - "response": { - "id": "uap_1csDj3sAVu6n5eTzLw6XZg", - "name": "test-user-attribute-profile", - "user_id": { - "oidc_mapping": "sub", - "saml_mapping": [ - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn", - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" - ], - "scim_mapping": "externalId" - }, - "user_attributes": { - "email": { - "label": "Email", - "description": "Email of the User", - "auth0_mapping": "email", - "profile_required": true - } - } - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connection-profiles?take=10", - "body": "", - "status": 200, - "response": { - "connection_profiles": [] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connection-profiles?take=10", - "body": "", - "status": 200, - "response": { - "connection_profiles": [] - }, + ], + "status": 204, + "response": "", "rawHeaders": [], "responseIsBinary": false }, @@ -8388,7 +6660,7 @@ "body": "", "status": 200, "response": { - "total": 9, + "total": 3, "start": 0, "limit": 100, "clients": [ @@ -8453,24 +6725,15 @@ "is_token_endpoint_ip_header_trusted": false, "name": "Default App", "callbacks": [], - "client_metadata": {}, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, "sso_disabled": false, @@ -8483,7 +6746,7 @@ "subject": "deprecated" } ], - "client_id": "vVbUuOLzLQ9k7iwdZoLRtQuhG8XHUkSY", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8491,36 +6754,40 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "global": true, + "callbacks": [], "is_first_party": true, - "oidc_conformant": true, + "name": "All Applications", "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" + ], + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, "signing_keys": [ { "cert": "[REDACTED]", @@ -8528,329 +6795,173 @@ "subject": "deprecated" } ], - "client_id": "O0AMH5MORoUOkQ8g31aPVmBZ11jyApI5", - "callback_url_template": false, + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], "custom_login_page_on": true - }, + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections?take=50", + "body": "", + "status": 200, + "response": { + "connections": [ { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } + "id": "con_lfhXlIY73LFJlMks", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "authentication": { + "active": true }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "allowed_origins": [], - "client_id": "88gPebiknBTdBHOAYrSdF2WWRyuroAax", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false + "connected_accounts": { + "active": false }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" + "realms": [ + "google-oauth2" ], - "web_origins": [], - "custom_login_page_on": true + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" + ] }, { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false + "id": "con_3R2lX4rln4ArocW5", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true }, - "facebook": { - "enabled": false - } + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true }, - "oidc_conformant": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "authentication": { + "active": true }, - "sso": false, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false + "connected_accounts": { + "active": false }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "R9N1M3jJcxlEKpIcm4EX8glA7Krb9h1k", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" + "realms": [ + "Username-Password-Authentication" ], - "custom_login_page_on": true - }, + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" + ] + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections?take=50", + "body": "", + "status": 200, + "response": { + "connections": [ { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } + "id": "con_lfhXlIY73LFJlMks", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "authentication": { + "active": true }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "9ztJ1ZaM0iTa9eR2Ga08KOrwBNqNuRmr", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false + "connected_accounts": { + "active": false }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "realms": [ + "google-oauth2" ], - "custom_login_page_on": true + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" + ] }, { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false + "id": "con_3R2lX4rln4ArocW5", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "8DngHjTrjB57cRXo74zYn4qohnAxjFsG", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "authentication": { + "active": true }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], - "is_first_party": true, - "name": "All Applications", - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "connected_accounts": { + "active": false }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } + "realms": [ + "Username-Password-Authentication" ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" + ] } ] }, @@ -8860,14 +6971,18 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&strategy=auth0", + "path": "/api/v2/connections/con_lfhXlIY73LFJlMks/clients?take=50", "body": "", "status": 200, "response": { - "total": 0, - "start": 0, - "limit": 50, - "connections": [] + "clients": [ + { + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" + }, + { + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -8875,38 +6990,130 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50&strategy=auth0", + "path": "/api/v2/connections/con_lfhXlIY73LFJlMks/clients?take=50", "body": "", "status": 200, "response": { - "connections": [] + "clients": [ + { + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" + }, + { + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + } + ] }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?include_totals=true&strategy=auth0", - "body": "", + "method": "PATCH", + "path": "/api/v2/connections/con_lfhXlIY73LFJlMks", + "body": { + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" + ], + "is_domain_connection": false, + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + } + }, "status": 200, "response": { - "total": 0, - "start": 0, - "limit": 50, - "connections": [] + "id": "con_lfhXlIY73LFJlMks", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + }, + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "authentication": { + "active": true + }, + "connected_accounts": { + "active": false + }, + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" + ], + "realms": [ + "google-oauth2" + ] }, "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/connections/con_lfhXlIY73LFJlMks/clients", + "body": [ + { + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "status": true + }, + { + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", + "status": true + } + ], + "status": 204, + "response": "", + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&take=50&strategy=auth0", + "path": "/api/v2/emails/provider?fields=name%2Cenabled%2Ccredentials%2Csettings%2Cdefault_from_address&include_fields=true", "body": "", "status": 200, "response": { - "connections": [] + "name": "mandrill", + "credentials": {}, + "default_from_address": "auth0-user@auth0.com", + "enabled": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/emails/provider", + "body": { + "name": "mandrill", + "credentials": { + "api_key": "##MANDRILL_API_KEY##" + }, + "default_from_address": "auth0-user@auth0.com", + "enabled": false + }, + "status": 200, + "response": { + "name": "mandrill", + "credentials": {}, + "default_from_address": "auth0-user@auth0.com", + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -8918,7 +7125,7 @@ "body": "", "status": 200, "response": { - "total": 9, + "total": 3, "start": 0, "limit": 100, "clients": [ @@ -8981,125 +7188,17 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "vVbUuOLzLQ9k7iwdZoLRtQuhG8XHUkSY", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "O0AMH5MORoUOkQ8g31aPVmBZ11jyApI5", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], + "name": "Default App", "callbacks": [], - "client_metadata": {}, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, "sso_disabled": false, @@ -9112,8 +7211,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "88gPebiknBTdBHOAYrSdF2WWRyuroAax", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9121,36 +7219,20 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", "grant_types": [ "authorization_code", "implicit", "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], + "global": true, "callbacks": [], - "client_metadata": {}, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, + "name": "All Applications", "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -9160,10 +7242,17 @@ "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, - "sso": false, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" + ], + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, "signing_keys": [ { "cert": "[REDACTED]", @@ -9171,299 +7260,9 @@ "subject": "deprecated" } ], - "client_id": "7vlUKQihTlaGoILrgQ51JW4xMbU1XhI0", - "callback_url_template": false, + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "R9N1M3jJcxlEKpIcm4EX8glA7Krb9h1k", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "9ztJ1ZaM0iTa9eR2Ga08KOrwBNqNuRmr", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "8DngHjTrjB57cRXo74zYn4qohnAxjFsG", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], - "is_first_party": true, - "name": "All Applications", - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?take=50", - "body": "", - "status": 200, - "response": { - "connections": [ - { - "id": "con_mNzsGFqGTiRm8ck6", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "google-oauth2" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "u6litSM0kteNcq1warh1NdRpv0MJYaWa" - ] - }, - { - "id": "con_itdctyRSC3HQmlX0", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - ] } ] }, @@ -9473,2115 +7272,710 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?take=50", + "path": "/api/v2/client-grants?take=50", "body": "", "status": 200, "response": { - "connections": [ + "client_grants": [ { - "id": "con_mNzsGFqGTiRm8ck6", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "google-oauth2" - ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "u6litSM0kteNcq1warh1NdRpv0MJYaWa" - ] - }, - { - "id": "con_itdctyRSC3HQmlX0", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ - { - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" - }, - { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6/clients?take=50", - "body": "", - "status": 200, - "response": { - "clients": [ - { - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" - }, - { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6", - "body": { - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "u6litSM0kteNcq1warh1NdRpv0MJYaWa" - ], - "is_domain_connection": false, - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - } - }, - "status": 200, - "response": { - "id": "con_mNzsGFqGTiRm8ck6", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "u6litSM0kteNcq1warh1NdRpv0MJYaWa" - ], - "realms": [ - "google-oauth2" - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/connections/con_mNzsGFqGTiRm8ck6/clients", - "body": [ - { - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "status": true - }, - { - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "status": true - } - ], - "status": 204, - "response": "", - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/emails/provider?fields=name%2Cenabled%2Ccredentials%2Csettings%2Cdefault_from_address&include_fields=true", - "body": "", - "status": 200, - "response": { - "name": "mandrill", - "credentials": {}, - "default_from_address": "auth0-user@auth0.com", - "enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/emails/provider", - "body": { - "name": "mandrill", - "credentials": { - "api_key": "##MANDRILL_API_KEY##" - }, - "default_from_address": "auth0-user@auth0.com", - "enabled": false - }, - "status": 200, - "response": { - "name": "mandrill", - "credentials": {}, - "default_from_address": "auth0-user@auth0.com", - "enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", - "body": "", - "status": 200, - "response": { - "total": 9, - "start": 0, - "limit": 100, - "clients": [ - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", - "is_first_party": true, - "oidc_conformant": true, - "sso_disabled": false, - "cross_origin_auth": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "cross_origin_authentication": true, - "allowed_clients": [], - "callbacks": [], - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], + "id": "cgr_pbwejzhwoujrsNE8", "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials", - "implicit", - "authorization_code", - "refresh_token" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "vVbUuOLzLQ9k7iwdZoLRtQuhG8XHUkSY", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "O0AMH5MORoUOkQ8g31aPVmBZ11jyApI5", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "allowed_origins": [], - "client_id": "88gPebiknBTdBHOAYrSdF2WWRyuroAax", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "web_origins": [], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso": false, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "R9N1M3jJcxlEKpIcm4EX8glA7Krb9h1k", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "9ztJ1ZaM0iTa9eR2Ga08KOrwBNqNuRmr", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "8DngHjTrjB57cRXo74zYn4qohnAxjFsG", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], - "is_first_party": true, - "name": "All Applications", - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/client-grants?take=50", - "body": "", - "status": 200, - "response": { - "client_grants": [ - { - "id": "cgr_pbwejzhwoujrsNE8", - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:client_credentials", - "update:client_credentials", - "delete:client_credentials", - "create:client_credentials", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations_summary", - "create:authentication_methods", - "read:authentication_methods", - "update:authentication_methods", - "delete:authentication_methods", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "read:organization_discovery_domains", - "update:organization_discovery_domains", - "create:organization_discovery_domains", - "delete:organization_discovery_domains", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations", - "read:scim_config", - "create:scim_config", - "update:scim_config", - "delete:scim_config", - "create:scim_token", - "read:scim_token", - "delete:scim_token", - "delete:phone_providers", - "create:phone_providers", - "read:phone_providers", - "update:phone_providers", - "delete:phone_templates", - "create:phone_templates", - "read:phone_templates", - "update:phone_templates", - "create:encryption_keys", - "read:encryption_keys", - "update:encryption_keys", - "delete:encryption_keys", - "read:sessions", - "update:sessions", - "delete:sessions", - "read:refresh_tokens", - "delete:refresh_tokens", - "create:self_service_profiles", - "read:self_service_profiles", - "update:self_service_profiles", - "delete:self_service_profiles", - "create:sso_access_tickets", - "delete:sso_access_tickets", - "read:forms", - "update:forms", - "delete:forms", - "create:forms", - "read:flows", - "update:flows", - "delete:flows", - "create:flows", - "read:flows_vault", - "read:flows_vault_connections", - "update:flows_vault_connections", - "delete:flows_vault_connections", - "create:flows_vault_connections", - "read:flows_executions", - "delete:flows_executions", - "read:connections_options", - "update:connections_options", - "read:self_service_profile_custom_texts", - "update:self_service_profile_custom_texts", - "create:network_acls", - "update:network_acls", - "read:network_acls", - "delete:network_acls", - "delete:vdcs_templates", - "read:vdcs_templates", - "create:vdcs_templates", - "update:vdcs_templates", - "create:custom_signing_keys", - "read:custom_signing_keys", - "update:custom_signing_keys", - "delete:custom_signing_keys", - "read:federated_connections_tokens", - "delete:federated_connections_tokens", - "create:user_attribute_profiles", - "read:user_attribute_profiles", - "update:user_attribute_profiles", - "delete:user_attribute_profiles", - "read:event_streams", - "create:event_streams", - "delete:event_streams", - "update:event_streams", - "read:event_deliveries", - "update:event_deliveries", - "create:connection_profiles", - "read:connection_profiles", - "update:connection_profiles", - "delete:connection_profiles", - "read:organization_client_grants", - "create:organization_client_grants", - "delete:organization_client_grants", - "read:security_metrics", - "read:connections_keys", - "update:connections_keys", - "create:connections_keys" - ], - "subject_type": "client" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "roles": [ - { - "id": "rol_jVbPH8r1ZIGS2gXN", - "name": "Admin", - "description": "Can read and write things" - }, - { - "id": "rol_xWADOPL9iJP4nUdr", - "name": "Reader", - "description": "Can only read things" - }, - { - "id": "rol_Iu8aIRwIrZ7Zk2Bz", - "name": "read_only", - "description": "Read Only" - }, - { - "id": "rol_hjHjIWbcLZccpcmF", - "name": "read_osnly", - "description": "Readz Only" - } - ], - "start": 0, - "limit": 100, - "total": 4 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/roles/rol_jVbPH8r1ZIGS2gXN/permissions?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "permissions": [], - "start": 0, - "limit": 100, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/branding/phone/providers", - "body": "", - "status": 200, - "response": { - "providers": [ - { - "id": "pro_mY3L5BP6iVUUzpv22opofm", - "tenant": "auth0-deploy-cli-e2e", - "name": "custom", - "channel": "phone", - "disabled": false, - "configuration": { - "delivery_methods": [ - "text" - ] - }, - "credentials": null, - "created_at": "2025-12-09T12:24:00.604Z", - "updated_at": "2025-12-16T08:57:28.720Z" - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/branding/phone/providers/pro_mY3L5BP6iVUUzpv22opofm", - "body": { - "name": "custom", - "configuration": { - "delivery_methods": [ - "text" - ] - }, - "disabled": false - }, - "status": 200, - "response": { - "id": "pro_mY3L5BP6iVUUzpv22opofm", - "tenant": "auth0-deploy-cli-e2e", - "name": "custom", - "channel": "phone", - "disabled": false, - "configuration": { - "delivery_methods": [ - "text" - ] - }, - "created_at": "2025-12-09T12:24:00.604Z", - "updated_at": "2025-12-16T08:58:34.717Z" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/self-service-profiles?page=0&per_page=100&include_totals=true", - "body": "", - "status": 200, - "response": { - "self_service_profiles": [ - { - "id": "ssp_f6qt3syGauLKbSgt6GRLim", - "name": "self-service-profile-1", - "description": "test description self-service-profile-1", - "user_attributes": [ - { - "name": "email", - "description": "Email of the User", - "is_optional": false - }, - { - "name": "name", - "description": "Name of the User", - "is_optional": true - } - ], - "allowed_strategies": [ - "google-apps", - "okta" - ], - "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-16T05:20:33.067Z", - "branding": { - "colors": { - "primary": "#19aecc" - } - } - } - ], - "start": 0, - "limit": 100, - "total": 1 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/self-service-profiles/ssp_f6qt3syGauLKbSgt6GRLim/custom-text/en/get-started", - "body": "", - "status": 200, - "response": {}, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/self-service-profiles/ssp_f6qt3syGauLKbSgt6GRLim", - "body": { - "name": "self-service-profile-1", - "allowed_strategies": [ - "google-apps", - "okta" - ], - "branding": { - "colors": { - "primary": "#19aecc" - } - }, - "description": "test description self-service-profile-1", - "user_attributes": [ - { - "name": "email", - "description": "Email of the User", - "is_optional": false - }, - { - "name": "name", - "description": "Name of the User", - "is_optional": true - } - ] - }, - "status": 200, - "response": { - "id": "ssp_f6qt3syGauLKbSgt6GRLim", - "name": "self-service-profile-1", - "description": "test description self-service-profile-1", - "user_attributes": [ - { - "name": "email", - "description": "Email of the User", - "is_optional": false - }, - { - "name": "name", - "description": "Name of the User", - "is_optional": true - } - ], - "allowed_strategies": [ - "google-apps", - "okta" - ], - "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-16T08:58:36.015Z", - "branding": { - "colors": { - "primary": "#19aecc" - } - } - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/branding/phone/templates", - "body": "", - "status": 200, - "response": { - "templates": [ - { - "id": "tem_dL83uTmWn8moGzm8UgAk4Q", - "tenant": "auth0-deploy-cli-e2e", - "channel": "phone", - "type": "blocked_account", - "disabled": false, - "created_at": "2025-12-09T12:22:47.683Z", - "updated_at": "2025-12-16T05:15:21.194Z", - "content": { - "syntax": "liquid", - "body": { - "text": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message.", - "voice": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message." - }, - "from": "0032232323" - } - }, - { - "id": "tem_xqbUSF83fpnRv8r8rqXFDZ", - "tenant": "auth0-deploy-cli-e2e", - "channel": "phone", - "type": "change_password", - "disabled": false, - "created_at": "2025-12-09T12:26:20.243Z", - "updated_at": "2025-12-16T05:15:21.476Z", - "content": { - "syntax": "liquid", - "body": { - "text": "{{ code | escape }} is your password change code for {{ friendly_name | escape }}", - "voice": "Hello. Your password change code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your password change code is {{ pause }} {{ code | escape }}" - } - } - }, - { - "id": "tem_qarYST5TTE5pbMNB5NHZAj", - "tenant": "auth0-deploy-cli-e2e", - "channel": "phone", - "type": "otp_enroll", - "disabled": false, - "created_at": "2025-12-09T12:26:25.327Z", - "updated_at": "2025-12-16T05:15:21.567Z", - "content": { - "syntax": "liquid", - "body": { - "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}. Please enter this code to verify your enrollment.", - "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" - } - } - }, - { - "id": "tem_o4LBTt4NQyX8K4vC9dPafR", - "tenant": "auth0-deploy-cli-e2e", - "channel": "phone", - "type": "otp_verify", - "disabled": false, - "created_at": "2025-12-09T12:26:30.547Z", - "updated_at": "2025-12-16T05:15:21.814Z", - "content": { - "syntax": "liquid", - "body": { - "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}", - "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" - } - } - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/branding/phone/templates/tem_dL83uTmWn8moGzm8UgAk4Q", - "body": { - "content": { - "from": "0032232323", - "body": { - "text": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message.", - "voice": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message." - } - }, - "disabled": false - }, - "status": 200, - "response": { - "id": "tem_dL83uTmWn8moGzm8UgAk4Q", - "tenant": "auth0-deploy-cli-e2e", - "channel": "phone", - "type": "blocked_account", - "disabled": false, - "created_at": "2025-12-09T12:22:47.683Z", - "updated_at": "2025-12-16T08:58:36.736Z", - "content": { - "syntax": "liquid", - "body": { - "text": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message.", - "voice": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message." - }, - "from": "0032232323" - } - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/branding/phone/templates/tem_qarYST5TTE5pbMNB5NHZAj", - "body": { - "content": { - "body": { - "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}. Please enter this code to verify your enrollment.", - "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" - } - }, - "disabled": false - }, - "status": 200, - "response": { - "id": "tem_qarYST5TTE5pbMNB5NHZAj", - "tenant": "auth0-deploy-cli-e2e", - "channel": "phone", - "type": "otp_enroll", - "disabled": false, - "created_at": "2025-12-09T12:26:25.327Z", - "updated_at": "2025-12-16T08:58:36.804Z", - "content": { - "syntax": "liquid", - "body": { - "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}. Please enter this code to verify your enrollment.", - "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" - } - } - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/branding/phone/templates/tem_xqbUSF83fpnRv8r8rqXFDZ", - "body": { - "content": { - "body": { - "text": "{{ code | escape }} is your password change code for {{ friendly_name | escape }}", - "voice": "Hello. Your password change code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your password change code is {{ pause }} {{ code | escape }}" - } - }, - "disabled": false - }, - "status": 200, - "response": { - "id": "tem_xqbUSF83fpnRv8r8rqXFDZ", - "tenant": "auth0-deploy-cli-e2e", - "channel": "phone", - "type": "change_password", - "disabled": false, - "created_at": "2025-12-09T12:26:20.243Z", - "updated_at": "2025-12-16T08:58:36.831Z", - "content": { - "syntax": "liquid", - "body": { - "text": "{{ code | escape }} is your password change code for {{ friendly_name | escape }}", - "voice": "Hello. Your password change code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your password change code is {{ pause }} {{ code | escape }}" - } - } - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/branding/phone/templates/tem_o4LBTt4NQyX8K4vC9dPafR", - "body": { - "content": { - "body": { - "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}", - "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" - } - }, - "disabled": false - }, - "status": 200, - "response": { - "id": "tem_o4LBTt4NQyX8K4vC9dPafR", - "tenant": "auth0-deploy-cli-e2e", - "channel": "phone", - "type": "otp_verify", - "disabled": false, - "created_at": "2025-12-09T12:26:30.547Z", - "updated_at": "2025-12-16T08:58:37.073Z", - "content": { - "syntax": "liquid", - "body": { - "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}", - "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" - } - } - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/actions/actions?page=0&per_page=100", - "body": "", - "status": 200, - "response": { - "actions": [ - { - "id": "2b25f34b-cc41-4b78-8eb0-861be0f30f1d", - "name": "Custom Phone Provider", - "supported_triggers": [ - { - "id": "custom-phone-provider", - "version": "v1" - } - ], - "created_at": "2025-12-16T08:57:07.885769307Z", - "updated_at": "2025-12-16T08:58:22.911650706Z", - "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", - "dependencies": [], - "runtime": "node22", - "status": "built", - "secrets": [], - "current_version": { - "id": "77a70d48-694c-4055-becb-b10b99ee73f4", - "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", - "runtime": "node22", - "status": "BUILT", - "number": 2, - "build_time": "2025-12-16T08:58:23.733386236Z", - "created_at": "2025-12-16T08:58:23.642622798Z", - "updated_at": "2025-12-16T08:58:23.734859050Z" - }, - "deployed_version": { - "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", - "dependencies": [], - "id": "77a70d48-694c-4055-becb-b10b99ee73f4", - "deployed": true, - "number": 2, - "built_at": "2025-12-16T08:58:23.733386236Z", - "secrets": [], - "status": "built", - "created_at": "2025-12-16T08:58:23.642622798Z", - "updated_at": "2025-12-16T08:58:23.734859050Z", - "runtime": "node22", - "supported_triggers": [ - { - "id": "custom-phone-provider", - "version": "v1" - } - ] - }, - "all_changes_deployed": true - } - ], - "total": 1, - "per_page": 100 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/token-exchange-profiles?take=50", - "body": "", - "status": 403, - "response": { - "statusCode": 403, - "error": "Forbidden", - "message": "Insufficient scope, expected any of: read:token_exchange_profiles", - "errorCode": "insufficient_scope" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/email-templates/welcome_email", - "body": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "enabled": false, - "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600 - }, - "status": 200, - "response": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/email-templates/verify_email", - "body": { - "template": "verify_email", - "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", - "enabled": true, - "from": "", - "subject": "", - "syntax": "liquid", - "urlLifetimeInSeconds": 432000 - }, - "status": 200, - "response": { - "template": "verify_email", - "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", - "from": "", - "subject": "", - "syntax": "liquid", - "urlLifetimeInSeconds": 432000, - "enabled": true - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/branding", - "body": { - "colors": { - "primary": "#F8F8F2", - "page_background": "#222221" - }, - "logo_url": "https://upload.wikimedia.org/wikipedia/commons/0/0d/Grandmas_marathon_finishers.png" - }, - "status": 200, - "response": { - "colors": { - "primary": "#F8F8F2", - "page_background": "#222221" - }, - "logo_url": "https://upload.wikimedia.org/wikipedia/commons/0/0d/Grandmas_marathon_finishers.png" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations?take=50", - "body": "", - "status": 200, - "response": { - "organizations": [] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", - "body": "", - "status": 200, - "response": { - "total": 9, - "start": 0, - "limit": 100, - "clients": [ - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", - "is_first_party": true, - "oidc_conformant": true, - "sso_disabled": false, - "cross_origin_auth": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "cross_origin_authentication": true, - "allowed_clients": [], - "callbacks": [], - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials", - "implicit", - "authorization_code", - "refresh_token" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "vVbUuOLzLQ9k7iwdZoLRtQuhG8XHUkSY", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "O0AMH5MORoUOkQ8g31aPVmBZ11jyApI5", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "allowed_origins": [], - "client_id": "88gPebiknBTdBHOAYrSdF2WWRyuroAax", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "web_origins": [], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso": false, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:client_credentials", + "update:client_credentials", + "delete:client_credentials", + "create:client_credentials", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations_summary", + "create:authentication_methods", + "read:authentication_methods", + "update:authentication_methods", + "delete:authentication_methods", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "read:organization_discovery_domains", + "update:organization_discovery_domains", + "create:organization_discovery_domains", + "delete:organization_discovery_domains", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations", + "read:scim_config", + "create:scim_config", + "update:scim_config", + "delete:scim_config", + "create:scim_token", + "read:scim_token", + "delete:scim_token", + "delete:phone_providers", + "create:phone_providers", + "read:phone_providers", + "update:phone_providers", + "delete:phone_templates", + "create:phone_templates", + "read:phone_templates", + "update:phone_templates", + "create:encryption_keys", + "read:encryption_keys", + "update:encryption_keys", + "delete:encryption_keys", + "read:sessions", + "update:sessions", + "delete:sessions", + "read:refresh_tokens", + "delete:refresh_tokens", + "create:self_service_profiles", + "read:self_service_profiles", + "update:self_service_profiles", + "delete:self_service_profiles", + "create:sso_access_tickets", + "delete:sso_access_tickets", + "read:forms", + "update:forms", + "delete:forms", + "create:forms", + "read:flows", + "update:flows", + "delete:flows", + "create:flows", + "read:flows_vault", + "read:flows_vault_connections", + "update:flows_vault_connections", + "delete:flows_vault_connections", + "create:flows_vault_connections", + "read:flows_executions", + "delete:flows_executions", + "read:connections_options", + "update:connections_options", + "read:self_service_profile_custom_texts", + "update:self_service_profile_custom_texts", + "create:network_acls", + "update:network_acls", + "read:network_acls", + "delete:network_acls", + "delete:vdcs_templates", + "read:vdcs_templates", + "create:vdcs_templates", + "update:vdcs_templates", + "create:custom_signing_keys", + "read:custom_signing_keys", + "update:custom_signing_keys", + "delete:custom_signing_keys", + "read:federated_connections_tokens", + "delete:federated_connections_tokens", + "create:user_attribute_profiles", + "read:user_attribute_profiles", + "update:user_attribute_profiles", + "delete:user_attribute_profiles", + "read:event_streams", + "create:event_streams", + "delete:event_streams", + "update:event_streams", + "read:event_deliveries", + "update:event_deliveries", + "create:connection_profiles", + "read:connection_profiles", + "update:connection_profiles", + "delete:connection_profiles", + "read:organization_client_grants", + "create:organization_client_grants", + "delete:organization_client_grants", + "read:security_metrics", + "read:connections_keys", + "update:connections_keys", + "create:connections_keys" ], - "custom_login_page_on": true - }, + "subject_type": "client" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "roles": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/branding/phone/providers", + "body": "", + "status": 200, + "response": { + "providers": [ { + "id": "pro_mY3L5BP6iVUUzpv22opofm", "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "R9N1M3jJcxlEKpIcm4EX8glA7Krb9h1k", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false + "name": "custom", + "channel": "phone", + "disabled": false, + "configuration": { + "delivery_methods": [ + "text" + ] }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, + "credentials": null, + "created_at": "2025-12-09T12:24:00.604Z", + "updated_at": "2025-12-16T10:10:43.073Z" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/branding/phone/providers/pro_mY3L5BP6iVUUzpv22opofm", + "body": { + "name": "custom", + "configuration": { + "delivery_methods": [ + "text" + ] + }, + "disabled": false + }, + "status": 200, + "response": { + "id": "pro_mY3L5BP6iVUUzpv22opofm", + "tenant": "auth0-deploy-cli-e2e", + "name": "custom", + "channel": "phone", + "disabled": false, + "configuration": { + "delivery_methods": [ + "text" + ] + }, + "created_at": "2025-12-09T12:24:00.604Z", + "updated_at": "2025-12-16T10:11:48.093Z" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/self-service-profiles?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "self_service_profiles": [ { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", - "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false + "id": "ssp_f6qt3syGauLKbSgt6GRLim", + "name": "self-service-profile-1", + "description": "test description self-service-profile-1", + "user_attributes": [ + { + "name": "email", + "description": "Email of the User", + "is_optional": false }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" + "name": "name", + "description": "Name of the User", + "is_optional": true } ], - "client_id": "9ztJ1ZaM0iTa9eR2Ga08KOrwBNqNuRmr", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "allowed_strategies": [ + "google-apps", + "okta" ], - "custom_login_page_on": true + "created_at": "2024-11-26T11:58:18.962Z", + "updated_at": "2025-12-16T09:02:11.327Z", + "branding": { + "colors": { + "primary": "#19aecc" + } + } + } + ], + "start": 0, + "limit": 100, + "total": 1 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/self-service-profiles/ssp_f6qt3syGauLKbSgt6GRLim/custom-text/en/get-started", + "body": "", + "status": 200, + "response": {}, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/self-service-profiles/ssp_f6qt3syGauLKbSgt6GRLim", + "body": { + "name": "self-service-profile-1", + "allowed_strategies": [ + "google-apps", + "okta" + ], + "branding": { + "colors": { + "primary": "#19aecc" + } + }, + "description": "test description self-service-profile-1", + "user_attributes": [ + { + "name": "email", + "description": "Email of the User", + "is_optional": false + }, + { + "name": "name", + "description": "Name of the User", + "is_optional": true + } + ] + }, + "status": 200, + "response": { + "id": "ssp_f6qt3syGauLKbSgt6GRLim", + "name": "self-service-profile-1", + "description": "test description self-service-profile-1", + "user_attributes": [ + { + "name": "email", + "description": "Email of the User", + "is_optional": false }, { + "name": "name", + "description": "Name of the User", + "is_optional": true + } + ], + "allowed_strategies": [ + "google-apps", + "okta" + ], + "created_at": "2024-11-26T11:58:18.962Z", + "updated_at": "2025-12-16T10:11:49.300Z", + "branding": { + "colors": { + "primary": "#19aecc" + } + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/branding/phone/templates", + "body": "", + "status": 200, + "response": { + "templates": [ + { + "id": "tem_xqbUSF83fpnRv8r8rqXFDZ", "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" + "channel": "phone", + "type": "change_password", + "disabled": false, + "created_at": "2025-12-09T12:26:20.243Z", + "updated_at": "2025-12-16T08:58:36.831Z", + "content": { + "syntax": "liquid", + "body": { + "text": "{{ code | escape }} is your password change code for {{ friendly_name | escape }}", + "voice": "Hello. Your password change code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your password change code is {{ pause }} {{ code | escape }}" } - ], - "client_id": "8DngHjTrjB57cRXo74zYn4qohnAxjFsG", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true + } }, { + "id": "tem_dL83uTmWn8moGzm8UgAk4Q", "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], - "is_first_party": true, - "name": "All Applications", - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819", - "mr|google-oauth2|112839029247827700155", - "mr|samlp|okta|ewan.harris@auth0.com" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" + "channel": "phone", + "type": "blocked_account", + "disabled": false, + "created_at": "2025-12-09T12:22:47.683Z", + "updated_at": "2025-12-16T08:58:36.736Z", + "content": { + "syntax": "liquid", + "body": { + "text": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message.", + "voice": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message." + }, + "from": "0032232323" + } + }, + { + "id": "tem_o4LBTt4NQyX8K4vC9dPafR", + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "otp_verify", + "disabled": false, + "created_at": "2025-12-09T12:26:30.547Z", + "updated_at": "2025-12-16T08:58:37.073Z", + "content": { + "syntax": "liquid", + "body": { + "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}", + "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" } - ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true + } + }, + { + "id": "tem_qarYST5TTE5pbMNB5NHZAj", + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "otp_enroll", + "disabled": false, + "created_at": "2025-12-09T12:26:25.327Z", + "updated_at": "2025-12-16T08:58:36.804Z", + "content": { + "syntax": "liquid", + "body": { + "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}. Please enter this code to verify your enrollment.", + "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" + } + } } ] }, "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/branding/phone/templates/tem_xqbUSF83fpnRv8r8rqXFDZ", + "body": { + "content": { + "body": { + "text": "{{ code | escape }} is your password change code for {{ friendly_name | escape }}", + "voice": "Hello. Your password change code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your password change code is {{ pause }} {{ code | escape }}" + } + }, + "disabled": false + }, + "status": 200, + "response": { + "id": "tem_xqbUSF83fpnRv8r8rqXFDZ", + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "change_password", + "disabled": false, + "created_at": "2025-12-09T12:26:20.243Z", + "updated_at": "2025-12-16T10:11:50.047Z", + "content": { + "syntax": "liquid", + "body": { + "text": "{{ code | escape }} is your password change code for {{ friendly_name | escape }}", + "voice": "Hello. Your password change code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your password change code is {{ pause }} {{ code | escape }}" + } + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/branding/phone/templates/tem_dL83uTmWn8moGzm8UgAk4Q", + "body": { + "content": { + "from": "0032232323", + "body": { + "text": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message.", + "voice": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message." + } + }, + "disabled": false + }, + "status": 200, + "response": { + "id": "tem_dL83uTmWn8moGzm8UgAk4Q", + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "blocked_account", + "disabled": false, + "created_at": "2025-12-09T12:22:47.683Z", + "updated_at": "2025-12-16T10:11:50.118Z", + "content": { + "syntax": "liquid", + "body": { + "text": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message.", + "voice": "We detected suspicious activity on your account from the ip {{user.source_ip}}{% if user.city %} from {{user.city}}, {{user.country}}{% elsif user.country %} from {{user.country}}{% endif %}. Logins from this IP have been blocked on your account. If this is your IP, please reset your password to unblock your account. Otherwise, disregard this message." + }, + "from": "0032232323" + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/branding/phone/templates/tem_o4LBTt4NQyX8K4vC9dPafR", + "body": { + "content": { + "body": { + "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}", + "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" + } + }, + "disabled": false + }, + "status": 200, + "response": { + "id": "tem_o4LBTt4NQyX8K4vC9dPafR", + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "otp_verify", + "disabled": false, + "created_at": "2025-12-09T12:26:30.547Z", + "updated_at": "2025-12-16T10:11:50.208Z", + "content": { + "syntax": "liquid", + "body": { + "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}", + "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" + } + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/branding/phone/templates/tem_qarYST5TTE5pbMNB5NHZAj", + "body": { + "content": { + "body": { + "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}. Please enter this code to verify your enrollment.", + "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" + } + }, + "disabled": false + }, + "status": 200, + "response": { + "id": "tem_qarYST5TTE5pbMNB5NHZAj", + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "otp_enroll", + "disabled": false, + "created_at": "2025-12-09T12:26:25.327Z", + "updated_at": "2025-12-16T10:11:50.397Z", + "content": { + "syntax": "liquid", + "body": { + "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}. Please enter this code to verify your enrollment.", + "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" + } + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?take=50", + "path": "/api/v2/actions/actions?page=0&per_page=100", "body": "", "status": 200, "response": { - "connections": [ + "actions": [ { - "id": "con_mNzsGFqGTiRm8ck6", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "authentication": { - "active": true - }, - "connected_accounts": { - "active": false - }, - "realms": [ - "google-oauth2" + "id": "ead7d2a3-5a93-43e2-9ec3-455f3c39daf9", + "name": "Custom Phone Provider", + "supported_triggers": [ + { + "id": "custom-phone-provider", + "version": "v1" + } ], - "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "u6litSM0kteNcq1warh1NdRpv0MJYaWa" - ] - }, - { - "id": "con_itdctyRSC3HQmlX0", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true, - "api_behavior": "required" - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "authentication": { - "active": true + "created_at": "2025-12-16T10:10:30.752146844Z", + "updated_at": "2025-12-16T10:11:36.910288525Z", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "dependencies": [], + "runtime": "node22", + "status": "built", + "secrets": [], + "current_version": { + "id": "83a87aec-f6f7-42bb-b6ad-6fa170f652d1", + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "runtime": "node22", + "status": "BUILT", + "number": 2, + "build_time": "2025-12-16T10:11:37.710742601Z", + "created_at": "2025-12-16T10:11:37.627490560Z", + "updated_at": "2025-12-16T10:11:37.712144713Z" }, - "connected_accounts": { - "active": false + "deployed_version": { + "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", + "dependencies": [], + "id": "83a87aec-f6f7-42bb-b6ad-6fa170f652d1", + "deployed": true, + "number": 2, + "built_at": "2025-12-16T10:11:37.710742601Z", + "secrets": [], + "status": "built", + "created_at": "2025-12-16T10:11:37.627490560Z", + "updated_at": "2025-12-16T10:11:37.712144713Z", + "runtime": "node22", + "supported_triggers": [ + { + "id": "custom-phone-provider", + "version": "v1" + } + ] }, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - ] + "all_changes_deployed": true } - ] + ], + "total": 1, + "per_page": 100 }, "rawHeaders": [], "responseIsBinary": false @@ -11589,247 +7983,102 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/client-grants?take=50", + "path": "/api/v2/token-exchange-profiles?take=50", "body": "", - "status": 200, + "status": 403, "response": { - "client_grants": [ - { - "id": "cgr_pbwejzhwoujrsNE8", - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:client_credentials", - "update:client_credentials", - "delete:client_credentials", - "create:client_credentials", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations_summary", - "create:authentication_methods", - "read:authentication_methods", - "update:authentication_methods", - "delete:authentication_methods", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "read:organization_discovery_domains", - "update:organization_discovery_domains", - "create:organization_discovery_domains", - "delete:organization_discovery_domains", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations", - "read:scim_config", - "create:scim_config", - "update:scim_config", - "delete:scim_config", - "create:scim_token", - "read:scim_token", - "delete:scim_token", - "delete:phone_providers", - "create:phone_providers", - "read:phone_providers", - "update:phone_providers", - "delete:phone_templates", - "create:phone_templates", - "read:phone_templates", - "update:phone_templates", - "create:encryption_keys", - "read:encryption_keys", - "update:encryption_keys", - "delete:encryption_keys", - "read:sessions", - "update:sessions", - "delete:sessions", - "read:refresh_tokens", - "delete:refresh_tokens", - "create:self_service_profiles", - "read:self_service_profiles", - "update:self_service_profiles", - "delete:self_service_profiles", - "create:sso_access_tickets", - "delete:sso_access_tickets", - "read:forms", - "update:forms", - "delete:forms", - "create:forms", - "read:flows", - "update:flows", - "delete:flows", - "create:flows", - "read:flows_vault", - "read:flows_vault_connections", - "update:flows_vault_connections", - "delete:flows_vault_connections", - "create:flows_vault_connections", - "read:flows_executions", - "delete:flows_executions", - "read:connections_options", - "update:connections_options", - "read:self_service_profile_custom_texts", - "update:self_service_profile_custom_texts", - "create:network_acls", - "update:network_acls", - "read:network_acls", - "delete:network_acls", - "delete:vdcs_templates", - "read:vdcs_templates", - "create:vdcs_templates", - "update:vdcs_templates", - "create:custom_signing_keys", - "read:custom_signing_keys", - "update:custom_signing_keys", - "delete:custom_signing_keys", - "read:federated_connections_tokens", - "delete:federated_connections_tokens", - "create:user_attribute_profiles", - "read:user_attribute_profiles", - "update:user_attribute_profiles", - "delete:user_attribute_profiles", - "read:event_streams", - "create:event_streams", - "delete:event_streams", - "update:event_streams", - "read:event_deliveries", - "update:event_deliveries", - "create:connection_profiles", - "read:connection_profiles", - "update:connection_profiles", - "delete:connection_profiles", - "read:organization_client_grants", - "create:organization_client_grants", - "delete:organization_client_grants", - "read:security_metrics", - "read:connections_keys", - "update:connections_keys", - "create:connections_keys" - ], - "subject_type": "client" - } - ] + "statusCode": 403, + "error": "Forbidden", + "message": "Insufficient scope, expected any of: read:token_exchange_profiles", + "errorCode": "insufficient_scope" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/email-templates/verify_email", + "body": { + "template": "verify_email", + "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", + "enabled": true, + "from": "", + "subject": "", + "syntax": "liquid", + "urlLifetimeInSeconds": 432000 + }, + "status": 200, + "response": { + "template": "verify_email", + "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", + "from": "", + "subject": "", + "syntax": "liquid", + "urlLifetimeInSeconds": 432000, + "enabled": true + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/email-templates/welcome_email", + "body": { + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "enabled": false, + "from": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", + "syntax": "liquid", + "urlLifetimeInSeconds": 3600 + }, + "status": 200, + "response": { + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "from": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", + "syntax": "liquid", + "urlLifetimeInSeconds": 3600, + "enabled": false + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/branding", + "body": { + "colors": { + "primary": "#F8F8F2", + "page_background": "#222221" + }, + "logo_url": "https://upload.wikimedia.org/wikipedia/commons/0/0d/Grandmas_marathon_finishers.png" + }, + "status": 200, + "response": { + "colors": { + "primary": "#F8F8F2", + "page_background": "#222221" + }, + "logo_url": "https://upload.wikimedia.org/wikipedia/commons/0/0d/Grandmas_marathon_finishers.png" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations?take=50", + "body": "", + "status": 200, + "response": { + "organizations": [] }, "rawHeaders": [], "responseIsBinary": false @@ -11841,7 +8090,7 @@ "body": "", "status": 200, "response": { - "total": 9, + "total": 3, "start": 0, "limit": 100, "clients": [ @@ -11906,24 +8155,15 @@ "is_token_endpoint_ip_header_trusted": false, "name": "Default App", "callbacks": [], - "client_metadata": {}, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, "sso_disabled": false, @@ -11936,7 +8176,7 @@ "subject": "deprecated" } ], - "client_id": "vVbUuOLzLQ9k7iwdZoLRtQuhG8XHUkSY", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11944,36 +8184,40 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "global": true, + "callbacks": [], "is_first_party": true, - "oidc_conformant": true, + "name": "All Applications", "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819", + "mr|google-oauth2|112839029247827700155", + "mr|samlp|okta|ewan.harris@auth0.com" + ], + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, "signing_keys": [ { "cert": "[REDACTED]", @@ -11981,143 +8225,117 @@ "subject": "deprecated" } ], - "client_id": "O0AMH5MORoUOkQ8g31aPVmBZ11jyApI5", - "callback_url_template": false, + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], "custom_login_page_on": true - }, + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections?take=50", + "body": "", + "status": 200, + "response": { + "connections": [ { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } + "id": "con_lfhXlIY73LFJlMks", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "authentication": { + "active": true }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "allowed_origins": [], - "client_id": "88gPebiknBTdBHOAYrSdF2WWRyuroAax", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false + "connected_accounts": { + "active": false }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" + "realms": [ + "google-oauth2" ], - "web_origins": [], - "custom_login_page_on": true + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" + ] }, { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false + "id": "con_3R2lX4rln4ArocW5", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true }, - "facebook": { - "enabled": false - } + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true, + "api_behavior": "required" + } + }, + "brute_force_protection": true }, - "oidc_conformant": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "authentication": { + "active": true }, - "sso": false, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false + "connected_accounts": { + "active": false }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" + "realms": [ + "Username-Password-Authentication" ], - "custom_login_page_on": true - }, + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" + ] + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "total": 3, + "start": 0, + "limit": 100, + "clients": [ { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", + "name": "Deploy CLI", "is_first_party": true, "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -12127,45 +8345,9 @@ "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "R9N1M3jJcxlEKpIcm4EX8glA7Krb9h1k", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "cross_origin_authentication": true, "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], - "client_metadata": {}, - "is_first_party": true, + "callbacks": [], "native_social_login": { "apple": { "enabled": false @@ -12174,19 +8356,6 @@ "enabled": false } }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "expiring", - "leeway": 0, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -12194,7 +8363,7 @@ "subject": "deprecated" } ], - "client_id": "9ztJ1ZaM0iTa9eR2Ga08KOrwBNqNuRmr", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12203,43 +8372,31 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", + "client_credentials", "implicit", + "authorization_code", "refresh_token" ], - "web_origins": [ - "http://localhost:3000" - ], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], + "name": "Default App", "callbacks": [], - "client_metadata": {}, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, "sso_disabled": false, @@ -12252,7 +8409,7 @@ "subject": "deprecated" } ], - "client_id": "8DngHjTrjB57cRXo74zYn4qohnAxjFsG", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12260,10 +8417,10 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -12301,257 +8458,270 @@ "subject": "deprecated" } ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/client-grants?take=50", + "body": "", + "status": 200, + "response": { + "client_grants": [ + { + "id": "cgr_pbwejzhwoujrsNE8", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:client_credentials", + "update:client_credentials", + "delete:client_credentials", + "create:client_credentials", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations_summary", + "create:authentication_methods", + "read:authentication_methods", + "update:authentication_methods", + "delete:authentication_methods", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "read:organization_discovery_domains", + "update:organization_discovery_domains", + "create:organization_discovery_domains", + "delete:organization_discovery_domains", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations", + "read:scim_config", + "create:scim_config", + "update:scim_config", + "delete:scim_config", + "create:scim_token", + "read:scim_token", + "delete:scim_token", + "delete:phone_providers", + "create:phone_providers", + "read:phone_providers", + "update:phone_providers", + "delete:phone_templates", + "create:phone_templates", + "read:phone_templates", + "update:phone_templates", + "create:encryption_keys", + "read:encryption_keys", + "update:encryption_keys", + "delete:encryption_keys", + "read:sessions", + "update:sessions", + "delete:sessions", + "read:refresh_tokens", + "delete:refresh_tokens", + "create:self_service_profiles", + "read:self_service_profiles", + "update:self_service_profiles", + "delete:self_service_profiles", + "create:sso_access_tickets", + "delete:sso_access_tickets", + "read:forms", + "update:forms", + "delete:forms", + "create:forms", + "read:flows", + "update:flows", + "delete:flows", + "create:flows", + "read:flows_vault", + "read:flows_vault_connections", + "update:flows_vault_connections", + "delete:flows_vault_connections", + "create:flows_vault_connections", + "read:flows_executions", + "delete:flows_executions", + "read:connections_options", + "update:connections_options", + "read:self_service_profile_custom_texts", + "update:self_service_profile_custom_texts", + "create:network_acls", + "update:network_acls", + "read:network_acls", + "delete:network_acls", + "delete:vdcs_templates", + "read:vdcs_templates", + "create:vdcs_templates", + "update:vdcs_templates", + "create:custom_signing_keys", + "read:custom_signing_keys", + "update:custom_signing_keys", + "delete:custom_signing_keys", + "read:federated_connections_tokens", + "delete:federated_connections_tokens", + "create:user_attribute_profiles", + "read:user_attribute_profiles", + "update:user_attribute_profiles", + "delete:user_attribute_profiles", + "read:event_streams", + "create:event_streams", + "delete:event_streams", + "update:event_streams", + "read:event_deliveries", + "update:event_deliveries", + "create:connection_profiles", + "read:connection_profiles", + "update:connection_profiles", + "delete:connection_profiles", + "read:organization_client_grants", + "create:organization_client_grants", + "delete:organization_client_grants", + "read:security_metrics", + "read:connections_keys", + "update:connections_keys", + "create:connections_keys" + ], + "subject_type": "client" } ] }, "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/organizations/org_dg75TodzDZQ3yqAV", - "body": { - "display_name": "Organization2" - }, - "status": 200, - "response": { - "id": "org_dg75TodzDZQ3yqAV", - "display_name": "Organization2", - "name": "org2" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/organizations/org_GDDGaXDUPC3vLmot", - "body": { - "branding": { - "colors": { - "page_background": "#fff5f5", - "primary": "#57ddff" - } - }, - "display_name": "Organization" - }, - "status": 200, - "response": { - "branding": { - "colors": { - "page_background": "#fff5f5", - "primary": "#57ddff" - } - }, - "id": "org_GDDGaXDUPC3vLmot", - "display_name": "Organization", - "name": "org1" - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", "path": "/api/v2/log-streams", "body": "", "status": 200, - "response": [ - { - "id": "lst_0000000000025369", - "name": "Suspended DD Log Stream", - "type": "datadog", - "status": "active", - "sink": { - "datadogApiKey": "some-sensitive-api-key", - "datadogRegion": "us" - }, - "isPriority": false - }, - { - "id": "lst_0000000000025370", - "name": "Amazon EventBridge", - "type": "eventbridge", - "status": "active", - "sink": { - "awsAccountId": "123456789012", - "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-cfc5325e-4577-409f-8e7b-2e4a664cb6ff/auth0.logs" - }, - "filters": [ - { - "type": "category", - "name": "auth.login.success" - }, - { - "type": "category", - "name": "auth.login.notification" - }, - { - "type": "category", - "name": "auth.login.fail" - }, - { - "type": "category", - "name": "auth.signup.success" - }, - { - "type": "category", - "name": "auth.logout.success" - }, - { - "type": "category", - "name": "auth.logout.fail" - }, - { - "type": "category", - "name": "auth.silent_auth.fail" - }, - { - "type": "category", - "name": "auth.silent_auth.success" - }, - { - "type": "category", - "name": "auth.token_exchange.fail" - } - ], - "isPriority": false - } - ], - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/log-streams/lst_0000000000025369", - "body": { - "name": "Suspended DD Log Stream", - "isPriority": false, - "sink": { - "datadogApiKey": "##LOGSTREAMS_DATADOG_SECRET##", - "datadogRegion": "us" - }, - "status": "active" - }, - "status": 200, - "response": { - "id": "lst_0000000000025369", - "name": "Suspended DD Log Stream", - "type": "datadog", - "status": "active", - "sink": { - "datadogApiKey": "##LOGSTREAMS_DATADOG_SECRET##", - "datadogRegion": "us" - }, - "isPriority": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/log-streams/lst_0000000000025370", - "body": { - "name": "Amazon EventBridge", - "filters": [ - { - "type": "category", - "name": "auth.login.success" - }, - { - "type": "category", - "name": "auth.login.notification" - }, - { - "type": "category", - "name": "auth.login.fail" - }, - { - "type": "category", - "name": "auth.signup.success" - }, - { - "type": "category", - "name": "auth.logout.success" - }, - { - "type": "category", - "name": "auth.logout.fail" - }, - { - "type": "category", - "name": "auth.silent_auth.fail" - }, - { - "type": "category", - "name": "auth.silent_auth.success" - }, - { - "type": "category", - "name": "auth.token_exchange.fail" - } - ], - "isPriority": false, - "status": "active" - }, - "status": 200, - "response": { - "id": "lst_0000000000025370", - "name": "Amazon EventBridge", - "type": "eventbridge", - "status": "active", - "sink": { - "awsAccountId": "123456789012", - "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-cfc5325e-4577-409f-8e7b-2e4a664cb6ff/auth0.logs" - }, - "filters": [ - { - "type": "category", - "name": "auth.login.success" - }, - { - "type": "category", - "name": "auth.login.notification" - }, - { - "type": "category", - "name": "auth.login.fail" - }, - { - "type": "category", - "name": "auth.signup.success" - }, - { - "type": "category", - "name": "auth.logout.success" - }, - { - "type": "category", - "name": "auth.logout.fail" - }, - { - "type": "category", - "name": "auth.silent_auth.fail" - }, - { - "type": "category", - "name": "auth.silent_auth.success" - }, - { - "type": "category", - "name": "auth.token_exchange.fail" - } - ], - "isPriority": false - }, + "response": [], "rawHeaders": [], "responseIsBinary": false }, @@ -12604,10 +8774,10 @@ "response": { "bindings": [ { - "id": "0fc89848-3924-4c97-96f6-501a8f76f378", + "id": "8685b798-7d18-47d3-9b3b-d1854a4525d0", "trigger_id": "custom-phone-provider", "action": { - "id": "2b25f34b-cc41-4b78-8eb0-861be0f30f1d", + "id": "ead7d2a3-5a93-43e2-9ec3-455f3c39daf9", "name": "Custom Phone Provider", "supported_triggers": [ { @@ -12615,29 +8785,29 @@ "version": "v1" } ], - "created_at": "2025-12-16T08:57:07.885769307Z", - "updated_at": "2025-12-16T08:58:22.906332840Z", + "created_at": "2025-12-16T10:10:30.752146844Z", + "updated_at": "2025-12-16T10:11:36.902340019Z", "current_version": { - "id": "77a70d48-694c-4055-becb-b10b99ee73f4", + "id": "83a87aec-f6f7-42bb-b6ad-6fa170f652d1", "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "runtime": "node22", "status": "BUILT", "number": 2, - "build_time": "2025-12-16T08:58:23.733386236Z", - "created_at": "2025-12-16T08:58:23.642622798Z", - "updated_at": "2025-12-16T08:58:23.734859050Z" + "build_time": "2025-12-16T10:11:37.710742601Z", + "created_at": "2025-12-16T10:11:37.627490560Z", + "updated_at": "2025-12-16T10:11:37.712144713Z" }, "deployed_version": { "code": "/**\n* Handler to be executed while sending a phone notification\n* @param {Event} event - Details about the user and the context in which they are logging in.\n* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.\n*/\nexports.onExecuteCustomPhoneProvider = async (event, api) => {\n // Code goes here\n return;\n};", "dependencies": [], - "id": "77a70d48-694c-4055-becb-b10b99ee73f4", + "id": "83a87aec-f6f7-42bb-b6ad-6fa170f652d1", "deployed": true, "number": 2, - "built_at": "2025-12-16T08:58:23.733386236Z", + "built_at": "2025-12-16T10:11:37.710742601Z", "secrets": [], "status": "built", - "created_at": "2025-12-16T08:58:23.642622798Z", - "updated_at": "2025-12-16T08:58:23.734859050Z", + "created_at": "2025-12-16T10:11:37.627490560Z", + "updated_at": "2025-12-16T10:11:37.712144713Z", "runtime": "node22", "supported_triggers": [ { @@ -12648,8 +8818,8 @@ }, "all_changes_deployed": false }, - "created_at": "2025-12-16T08:58:43.239027497Z", - "updated_at": "2025-12-16T08:58:43.239027497Z", + "created_at": "2025-12-16T10:11:56.497757149Z", + "updated_at": "2025-12-16T10:11:56.497757149Z", "display_name": "Custom Phone Provider" } ] @@ -12763,7 +8933,7 @@ "name": "Blank-form", "flow_count": 0, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-16T05:20:48.391Z" + "updated_at": "2025-12-16T09:02:21.881Z" } ] }, @@ -12849,7 +9019,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-16T05:20:48.391Z" + "updated_at": "2025-12-16T09:02:21.881Z" }, "rawHeaders": [], "responseIsBinary": false @@ -12974,7 +9144,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-16T08:58:46.399Z" + "updated_at": "2025-12-16T10:11:59.715Z" }, "rawHeaders": [], "responseIsBinary": false @@ -13086,4 +9256,4 @@ "rawHeaders": [], "responseIsBinary": false } -] +] \ No newline at end of file diff --git a/test/e2e/recordings/should-dump-without-throwing-an-error.json b/test/e2e/recordings/should-dump-without-throwing-an-error.json index 9ebf24b54..de43f4e1d 100644 --- a/test/e2e/recordings/should-dump-without-throwing-an-error.json +++ b/test/e2e/recordings/should-dump-without-throwing-an-error.json @@ -1201,7 +1201,6 @@ "is_token_endpoint_ip_header_trusted": false, "name": "Default App", "callbacks": [], - "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -1215,6 +1214,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -1222,7 +1222,7 @@ "subject": "deprecated" } ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1252,7 +1252,7 @@ "response": { "connections": [ { - "id": "con_itdctyRSC3HQmlX0", + "id": "con_3R2lX4rln4ArocW5", "options": { "mfa": { "active": true, @@ -1289,8 +1289,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" ] } ] @@ -1301,13 +1301,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients?take=50", + "path": "/api/v2/connections/con_3R2lX4rln4ArocW5/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -1320,13 +1320,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_itdctyRSC3HQmlX0/clients?take=50", + "path": "/api/v2/connections/con_3R2lX4rln4ArocW5/clients?take=50", "body": "", "status": 200, "response": { "clients": [ { - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa" + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" }, { "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" @@ -1345,7 +1345,7 @@ "response": { "connections": [ { - "id": "con_itdctyRSC3HQmlX0", + "id": "con_3R2lX4rln4ArocW5", "options": { "mfa": { "active": true, @@ -1382,8 +1382,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "u6litSM0kteNcq1warh1NdRpv0MJYaWa", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V" ] } ] @@ -1481,17 +1481,18 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/verify_email", + "path": "/api/v2/email-templates/welcome_email", "body": "", "status": 200, "response": { - "template": "verify_email", - "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", "from": "", - "subject": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", "syntax": "liquid", - "urlLifetimeInSeconds": 432000, - "enabled": true + "urlLifetimeInSeconds": 3600, + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -1499,7 +1500,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/verify_email_by_code", + "path": "/api/v2/email-templates/password_reset", "body": "", "status": 404, "response": { @@ -1514,18 +1515,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/welcome_email", + "path": "/api/v2/email-templates/verify_email_by_code", "body": "", - "status": 200, + "status": 404, "response": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" }, "rawHeaders": [], "responseIsBinary": false @@ -1533,7 +1530,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/stolen_credentials", + "path": "/api/v2/email-templates/async_approval", "body": "", "status": 404, "response": { @@ -1548,7 +1545,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/password_reset", + "path": "/api/v2/email-templates/reset_email_by_code", "body": "", "status": 404, "response": { @@ -1563,7 +1560,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/user_invitation", + "path": "/api/v2/email-templates/blocked_account", "body": "", "status": 404, "response": { @@ -1578,7 +1575,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/async_approval", + "path": "/api/v2/email-templates/user_invitation", "body": "", "status": 404, "response": { @@ -1593,7 +1590,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/enrollment_email", + "path": "/api/v2/email-templates/stolen_credentials", "body": "", "status": 404, "response": { @@ -1608,7 +1605,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email", + "path": "/api/v2/email-templates/change_password", "body": "", "status": 404, "response": { @@ -1638,7 +1635,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/blocked_account", + "path": "/api/v2/email-templates/enrollment_email", "body": "", "status": 404, "response": { @@ -1653,14 +1650,17 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/change_password", + "path": "/api/v2/email-templates/verify_email", "body": "", - "status": 404, + "status": 200, "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" + "template": "verify_email", + "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", + "from": "", + "subject": "", + "syntax": "liquid", + "urlLifetimeInSeconds": 432000, + "enabled": true }, "rawHeaders": [], "responseIsBinary": false @@ -1668,7 +1668,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email_by_code", + "path": "/api/v2/email-templates/reset_email", "body": "", "status": 404, "response": { @@ -1982,7 +1982,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/guardian/factors/sms/providers/twilio", + "path": "/api/v2/guardian/factors/push-notification/providers/sns", "body": "", "status": 200, "response": {}, @@ -1992,7 +1992,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/guardian/factors/push-notification/providers/sns", + "path": "/api/v2/guardian/factors/sms/providers/twilio", "body": "", "status": 200, "response": {}, @@ -2108,7 +2108,7 @@ }, "credentials": null, "created_at": "2025-12-09T12:24:00.604Z", - "updated_at": "2025-12-16T05:15:18.469Z" + "updated_at": "2025-12-16T08:58:34.717Z" } ] }, @@ -2123,6 +2123,22 @@ "status": 200, "response": { "templates": [ + { + "id": "tem_xqbUSF83fpnRv8r8rqXFDZ", + "tenant": "auth0-deploy-cli-e2e", + "channel": "phone", + "type": "change_password", + "disabled": false, + "created_at": "2025-12-09T12:26:20.243Z", + "updated_at": "2025-12-16T08:58:36.831Z", + "content": { + "syntax": "liquid", + "body": { + "text": "{{ code | escape }} is your password change code for {{ friendly_name | escape }}", + "voice": "Hello. Your password change code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your password change code is {{ pause }} {{ code | escape }}" + } + } + }, { "id": "tem_dL83uTmWn8moGzm8UgAk4Q", "tenant": "auth0-deploy-cli-e2e", @@ -2130,7 +2146,7 @@ "type": "blocked_account", "disabled": false, "created_at": "2025-12-09T12:22:47.683Z", - "updated_at": "2025-12-16T05:15:21.194Z", + "updated_at": "2025-12-16T08:58:36.736Z", "content": { "syntax": "liquid", "body": { @@ -2141,18 +2157,18 @@ } }, { - "id": "tem_xqbUSF83fpnRv8r8rqXFDZ", + "id": "tem_o4LBTt4NQyX8K4vC9dPafR", "tenant": "auth0-deploy-cli-e2e", "channel": "phone", - "type": "change_password", + "type": "otp_verify", "disabled": false, - "created_at": "2025-12-09T12:26:20.243Z", - "updated_at": "2025-12-16T05:15:21.476Z", + "created_at": "2025-12-09T12:26:30.547Z", + "updated_at": "2025-12-16T08:58:37.073Z", "content": { "syntax": "liquid", "body": { - "text": "{{ code | escape }} is your password change code for {{ friendly_name | escape }}", - "voice": "Hello. Your password change code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your password change code is {{ pause }} {{ code | escape }}" + "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}", + "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" } } }, @@ -2163,7 +2179,7 @@ "type": "otp_enroll", "disabled": false, "created_at": "2025-12-09T12:26:25.327Z", - "updated_at": "2025-12-16T05:15:21.567Z", + "updated_at": "2025-12-16T08:58:36.804Z", "content": { "syntax": "liquid", "body": { @@ -2171,22 +2187,6 @@ "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" } } - }, - { - "id": "tem_o4LBTt4NQyX8K4vC9dPafR", - "tenant": "auth0-deploy-cli-e2e", - "channel": "phone", - "type": "otp_verify", - "disabled": false, - "created_at": "2025-12-09T12:26:30.547Z", - "updated_at": "2025-12-16T05:15:21.814Z", - "content": { - "syntax": "liquid", - "body": { - "text": "{{ code | escape }} is your verification code for {{ friendly_name | escape }}", - "voice": "Hello. Your verification code for {{ friendly_name | escape }} is {{ pause }} {{ code | escape }}. I repeat, your verification code is {{ pause }} {{ code | escape }}" - } - } } ] }, @@ -2281,7 +2281,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login/custom-text/en", + "path": "/api/v2/prompts/login-id/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2291,7 +2291,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/custom-text/en", + "path": "/api/v2/prompts/login/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2341,7 +2341,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup-password/custom-text/en", + "path": "/api/v2/prompts/signup-id/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2351,7 +2351,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup-id/custom-text/en", + "path": "/api/v2/prompts/signup-password/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2371,7 +2371,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/email-identifier-challenge/custom-text/en", + "path": "/api/v2/prompts/phone-identifier-challenge/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2381,7 +2381,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/phone-identifier-challenge/custom-text/en", + "path": "/api/v2/prompts/email-identifier-challenge/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2391,7 +2391,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/custom-form/custom-text/en", + "path": "/api/v2/prompts/reset-password/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2418,16 +2418,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/prompts/reset-password/custom-text/en", - "body": "", - "status": 200, - "response": {}, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -2461,7 +2451,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-voice/custom-text/en", + "path": "/api/v2/prompts/mfa-otp/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2471,7 +2461,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-otp/custom-text/en", + "path": "/api/v2/prompts/mfa-voice/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2491,7 +2481,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-sms/custom-text/en", + "path": "/api/v2/prompts/mfa-webauthn/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2501,7 +2491,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-webauthn/custom-text/en", + "path": "/api/v2/prompts/mfa-sms/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2511,7 +2501,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-recovery-code/custom-text/en", + "path": "/api/v2/prompts/mfa-email/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2521,7 +2511,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa/custom-text/en", + "path": "/api/v2/prompts/mfa-recovery-code/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2531,7 +2521,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-email/custom-text/en", + "path": "/api/v2/prompts/mfa/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2551,7 +2541,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/email-verification/custom-text/en", + "path": "/api/v2/prompts/device-flow/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2561,7 +2551,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/device-flow/custom-text/en", + "path": "/api/v2/prompts/email-verification/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2641,7 +2631,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login/partials", + "path": "/api/v2/prompts/login-password/partials", "body": "", "status": 200, "response": {}, @@ -2651,7 +2641,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-password/partials", + "path": "/api/v2/prompts/login/partials", "body": "", "status": 200, "response": {}, @@ -2661,7 +2651,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login/partials", + "path": "/api/v2/prompts/login-id/partials", "body": "", "status": 200, "response": {}, @@ -2671,7 +2661,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-passwordless/partials", + "path": "/api/v2/prompts/signup/partials", "body": "", "status": 200, "response": {}, @@ -2681,7 +2671,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup/partials", + "path": "/api/v2/prompts/login-passwordless/partials", "body": "", "status": 200, "response": {}, @@ -2749,6 +2739,7 @@ "version": "v3", "status": "CURRENT", "runtimes": [ + "node12", "node18-actions", "node22" ], @@ -2772,17 +2763,6 @@ "binding_policy": "trigger-bound", "compatible_triggers": [] }, - { - "id": "credentials-exchange", - "version": "v1", - "status": "DEPRECATED", - "runtimes": [ - "node12" - ], - "default_runtime": "node12", - "binding_policy": "trigger-bound", - "compatible_triggers": [] - }, { "id": "credentials-exchange", "version": "v2", @@ -2801,6 +2781,7 @@ "version": "v2", "status": "CURRENT", "runtimes": [ + "node12", "node18-actions", "node22" ], @@ -2808,22 +2789,12 @@ "binding_policy": "trigger-bound", "compatible_triggers": [] }, - { - "id": "post-user-registration", - "version": "v1", - "status": "DEPRECATED", - "runtimes": [ - "node12" - ], - "default_runtime": "node12", - "binding_policy": "trigger-bound", - "compatible_triggers": [] - }, { "id": "post-user-registration", "version": "v2", "status": "CURRENT", "runtimes": [ + "node12", "node18-actions", "node22" ], @@ -2836,6 +2807,7 @@ "version": "v2", "status": "CURRENT", "runtimes": [ + "node12", "node18-actions", "node22" ], @@ -2843,22 +2815,12 @@ "binding_policy": "trigger-bound", "compatible_triggers": [] }, - { - "id": "send-phone-message", - "version": "v1", - "status": "DEPRECATED", - "runtimes": [ - "node12" - ], - "default_runtime": "node12", - "binding_policy": "trigger-bound", - "compatible_triggers": [] - }, { "id": "send-phone-message", "version": "v2", "status": "CURRENT", "runtimes": [ + "node12", "node18-actions", "node22" ], @@ -3206,7 +3168,6 @@ "is_token_endpoint_ip_header_trusted": false, "name": "Default App", "callbacks": [], - "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, "refresh_token": { @@ -3220,6 +3181,7 @@ }, "sso_disabled": false, "cross_origin_authentication": false, + "cross_origin_auth": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -3227,7 +3189,7 @@ "subject": "deprecated" } ], - "client_id": "u6litSM0kteNcq1warh1NdRpv0MJYaWa", + "client_id": "lWGQK4qxLvwQMGy4l9UWToxrd1cAp03V", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3285,6 +3247,25 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/attack-protection/brute-force-protection", + "body": "", + "status": 200, + "response": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 10 + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -3308,25 +3289,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/attack-protection/brute-force-protection", - "body": "", - "status": 200, - "response": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 10 - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -3448,22 +3410,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, - "total": 1, - "forms": [ - { - "id": "ap_6JUSCU7qq1CravnoU6d6jr", - "name": "Blank-form", - "flow_count": 0, - "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-16T05:20:48.391Z" - } - ] + "total": 0, + "flows": [] }, "rawHeaders": [], "responseIsBinary": false @@ -3471,14 +3425,22 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, - "total": 0, - "flows": [] + "total": 1, + "forms": [ + { + "id": "ap_6JUSCU7qq1CravnoU6d6jr", + "name": "Blank-form", + "flow_count": 0, + "created_at": "2024-11-26T11:58:18.187Z", + "updated_at": "2025-12-16T09:02:21.881Z" + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -3547,7 +3509,7 @@ } }, "created_at": "2024-11-26T11:58:18.187Z", - "updated_at": "2025-12-16T05:20:48.391Z" + "updated_at": "2025-12-16T09:02:21.881Z" }, "rawHeaders": [], "responseIsBinary": false @@ -3555,14 +3517,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { - "limit": 50, + "limit": 100, "start": 0, "total": 0, - "connections": [] + "flows": [] }, "rawHeaders": [], "responseIsBinary": false @@ -3570,14 +3532,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=0&per_page=50&include_totals=true", "body": "", "status": 200, "response": { - "limit": 100, + "limit": 50, "start": 0, "total": 0, - "flows": [] + "connections": [] }, "rawHeaders": [], "responseIsBinary": false @@ -3656,7 +3618,7 @@ "okta" ], "created_at": "2024-11-26T11:58:18.962Z", - "updated_at": "2025-12-16T05:20:33.067Z", + "updated_at": "2025-12-16T09:02:11.327Z", "branding": { "colors": { "primary": "#19aecc" @@ -3708,7 +3670,7 @@ } }, "created_at": "2025-09-09T04:41:43.671Z", - "updated_at": "2025-12-16T05:20:12.065Z", + "updated_at": "2025-12-16T09:01:55.451Z", "id": "acl_wpZ6oScRU5L6QKAxMUMHmx" } ] @@ -3797,20 +3759,5 @@ }, "rawHeaders": [], "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connection-profiles?take=10", - "body": "", - "status": 403, - "response": { - "statusCode": 403, - "error": "Forbidden", - "message": "This feature is not enabled for this tenant.", - "errorCode": "feature_not_enabled" - }, - "rawHeaders": [], - "responseIsBinary": false } -] +] \ No newline at end of file