auth0 7.2.0 → 7.4.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/README.md +5 -0
  2. package/dist/cjs/management/api/requests/requests.d.ts +238 -4
  3. package/dist/cjs/management/api/resources/clients/client/Client.d.ts +37 -0
  4. package/dist/cjs/management/api/resources/clients/client/Client.js +111 -0
  5. package/dist/cjs/management/api/resources/experimentation/client/Client.d.ts +6 -0
  6. package/dist/cjs/management/api/resources/experimentation/client/Client.js +10 -0
  7. package/dist/cjs/management/api/resources/experimentation/resources/experiments/client/Client.d.ts +133 -0
  8. package/dist/cjs/management/api/resources/experimentation/resources/experiments/client/Client.js +485 -0
  9. package/dist/cjs/management/api/resources/experimentation/resources/featureFlags/client/Client.d.ts +126 -0
  10. package/dist/cjs/management/api/resources/experimentation/resources/featureFlags/client/Client.js +471 -0
  11. package/dist/cjs/management/api/resources/experimentation/resources/featureFlags/exports.d.ts +3 -0
  12. package/dist/cjs/management/api/resources/experimentation/resources/featureFlags/exports.js +22 -0
  13. package/dist/cjs/management/api/resources/experimentation/resources/featureFlags/index.d.ts +2 -0
  14. package/dist/cjs/management/api/resources/experimentation/resources/featureFlags/index.js +18 -0
  15. package/dist/cjs/management/api/resources/experimentation/resources/featureFlags/resources/index.d.ts +1 -0
  16. package/dist/cjs/management/api/resources/experimentation/resources/featureFlags/resources/index.js +37 -0
  17. package/dist/cjs/management/api/resources/experimentation/resources/featureFlags/resources/variations/client/Client.d.ts +109 -0
  18. package/dist/cjs/management/api/resources/experimentation/resources/featureFlags/resources/variations/client/Client.js +390 -0
  19. package/dist/cjs/management/api/resources/experimentation/resources/featureFlags/resources/variations/client/index.js +2 -0
  20. package/dist/cjs/management/api/resources/experimentation/resources/featureFlags/resources/variations/exports.d.ts +2 -0
  21. package/dist/cjs/management/api/resources/{organizations/resources/organizationTemplate → experimentation/resources/featureFlags/resources/variations}/exports.js +2 -2
  22. package/dist/cjs/management/api/resources/experimentation/resources/index.d.ts +2 -0
  23. package/dist/cjs/management/api/resources/experimentation/resources/index.js +3 -1
  24. package/dist/cjs/management/api/resources/experimentation/resources/segments/client/Client.d.ts +104 -0
  25. package/dist/cjs/management/api/resources/{organizations/resources/organizationTemplate → experimentation/resources/segments}/client/Client.js +205 -39
  26. package/dist/cjs/management/api/resources/experimentation/resources/segments/client/index.js +2 -0
  27. package/dist/cjs/management/api/resources/experimentation/resources/segments/exports.d.ts +2 -0
  28. package/dist/cjs/management/api/resources/experimentation/resources/segments/exports.js +21 -0
  29. package/dist/cjs/management/api/resources/experimentation/resources/segments/index.d.ts +1 -0
  30. package/dist/cjs/management/api/resources/experimentation/resources/segments/index.js +17 -0
  31. package/dist/cjs/management/api/resources/organizations/client/Client.d.ts +0 -3
  32. package/dist/cjs/management/api/resources/organizations/client/Client.js +2 -7
  33. package/dist/cjs/management/api/resources/organizations/resources/index.d.ts +0 -1
  34. package/dist/cjs/management/api/resources/organizations/resources/index.js +1 -2
  35. package/dist/cjs/management/api/resources/users/client/Client.d.ts +8 -10
  36. package/dist/cjs/management/api/resources/users/client/Client.js +8 -10
  37. package/dist/cjs/management/api/types/types.d.ts +642 -91
  38. package/dist/cjs/management/api/types/types.js +109 -50
  39. package/dist/cjs/management/version.d.ts +1 -1
  40. package/dist/cjs/management/version.js +1 -1
  41. package/dist/esm/management/api/requests/requests.d.mts +238 -4
  42. package/dist/esm/management/api/resources/clients/client/Client.d.mts +37 -0
  43. package/dist/esm/management/api/resources/clients/client/Client.mjs +111 -0
  44. package/dist/esm/management/api/resources/experimentation/client/Client.d.mts +6 -0
  45. package/dist/esm/management/api/resources/experimentation/client/Client.mjs +10 -0
  46. package/dist/esm/management/api/resources/experimentation/resources/experiments/client/Client.d.mts +133 -0
  47. package/dist/esm/management/api/resources/experimentation/resources/experiments/client/Client.mjs +485 -0
  48. package/dist/esm/management/api/resources/experimentation/resources/featureFlags/client/Client.d.mts +126 -0
  49. package/dist/esm/management/api/resources/experimentation/resources/featureFlags/client/Client.mjs +434 -0
  50. package/dist/esm/management/api/resources/experimentation/resources/featureFlags/client/index.d.mts +1 -0
  51. package/dist/esm/management/api/resources/experimentation/resources/featureFlags/client/index.mjs +1 -0
  52. package/dist/esm/management/api/resources/experimentation/resources/featureFlags/exports.d.mts +3 -0
  53. package/dist/esm/management/api/resources/experimentation/resources/featureFlags/exports.mjs +4 -0
  54. package/dist/esm/management/api/resources/experimentation/resources/featureFlags/index.d.mts +2 -0
  55. package/dist/esm/management/api/resources/experimentation/resources/featureFlags/index.mjs +2 -0
  56. package/dist/esm/management/api/resources/experimentation/resources/featureFlags/resources/index.d.mts +1 -0
  57. package/dist/esm/management/api/resources/experimentation/resources/featureFlags/resources/index.mjs +1 -0
  58. package/dist/esm/management/api/resources/experimentation/resources/featureFlags/resources/variations/client/Client.d.mts +109 -0
  59. package/dist/esm/management/api/resources/experimentation/resources/featureFlags/resources/variations/client/Client.mjs +353 -0
  60. package/dist/esm/management/api/resources/experimentation/resources/featureFlags/resources/variations/client/index.d.mts +1 -0
  61. package/dist/esm/management/api/resources/experimentation/resources/featureFlags/resources/variations/client/index.mjs +1 -0
  62. package/dist/esm/management/api/resources/experimentation/resources/featureFlags/resources/variations/exports.d.mts +2 -0
  63. package/dist/esm/management/api/resources/{organizations/resources/organizationTemplate → experimentation/resources/featureFlags/resources/variations}/exports.mjs +1 -1
  64. package/dist/esm/management/api/resources/experimentation/resources/index.d.mts +2 -0
  65. package/dist/esm/management/api/resources/experimentation/resources/index.mjs +2 -0
  66. package/dist/esm/management/api/resources/experimentation/resources/segments/client/Client.d.mts +104 -0
  67. package/dist/esm/management/api/resources/experimentation/resources/segments/client/Client.mjs +361 -0
  68. package/dist/esm/management/api/resources/experimentation/resources/segments/client/index.d.mts +1 -0
  69. package/dist/esm/management/api/resources/experimentation/resources/segments/client/index.mjs +1 -0
  70. package/dist/esm/management/api/resources/experimentation/resources/segments/exports.d.mts +2 -0
  71. package/dist/esm/management/api/resources/experimentation/resources/segments/exports.mjs +3 -0
  72. package/dist/esm/management/api/resources/experimentation/resources/segments/index.d.mts +1 -0
  73. package/dist/esm/management/api/resources/experimentation/resources/segments/index.mjs +1 -0
  74. package/dist/esm/management/api/resources/organizations/client/Client.d.mts +0 -3
  75. package/dist/esm/management/api/resources/organizations/client/Client.mjs +0 -5
  76. package/dist/esm/management/api/resources/organizations/resources/index.d.mts +0 -1
  77. package/dist/esm/management/api/resources/organizations/resources/index.mjs +0 -1
  78. package/dist/esm/management/api/resources/users/client/Client.d.mts +8 -10
  79. package/dist/esm/management/api/resources/users/client/Client.mjs +8 -10
  80. package/dist/esm/management/api/types/types.d.mts +642 -91
  81. package/dist/esm/management/api/types/types.mjs +88 -29
  82. package/dist/esm/management/version.d.mts +1 -1
  83. package/dist/esm/management/version.mjs +1 -1
  84. package/package.json +34 -12
  85. package/reference.md +1829 -313
  86. package/dist/cjs/management/api/resources/organizations/resources/organizationTemplate/client/Client.d.ts +0 -63
  87. package/dist/cjs/management/api/resources/organizations/resources/organizationTemplate/exports.d.ts +0 -2
  88. package/dist/esm/management/api/resources/organizations/resources/organizationTemplate/client/Client.d.mts +0 -63
  89. package/dist/esm/management/api/resources/organizations/resources/organizationTemplate/client/Client.mjs +0 -195
  90. package/dist/esm/management/api/resources/organizations/resources/organizationTemplate/exports.d.mts +0 -2
  91. /package/dist/cjs/management/api/resources/{organizations/resources/organizationTemplate → experimentation/resources/featureFlags}/client/index.d.ts +0 -0
  92. /package/dist/cjs/management/api/resources/{organizations/resources/organizationTemplate → experimentation/resources/featureFlags}/client/index.js +0 -0
  93. /package/dist/{esm/management/api/resources/organizations/resources/organizationTemplate/client/index.d.mts → cjs/management/api/resources/experimentation/resources/featureFlags/resources/variations/client/index.d.ts} +0 -0
  94. /package/dist/cjs/management/api/resources/{organizations/resources/organizationTemplate → experimentation/resources/featureFlags/resources/variations}/index.d.ts +0 -0
  95. /package/dist/cjs/management/api/resources/{organizations/resources/organizationTemplate → experimentation/resources/featureFlags/resources/variations}/index.js +0 -0
  96. /package/dist/{esm/management/api/resources/organizations/resources/organizationTemplate/client/index.mjs → cjs/management/api/resources/experimentation/resources/segments/client/index.d.ts} +0 -0
  97. /package/dist/esm/management/api/resources/{organizations/resources/organizationTemplate → experimentation/resources/featureFlags/resources/variations}/index.d.mts +0 -0
  98. /package/dist/esm/management/api/resources/{organizations/resources/organizationTemplate → experimentation/resources/featureFlags/resources/variations}/index.mjs +0 -0
@@ -347,6 +347,7 @@ export interface CreateClientRequestContent {
347
347
  b2b_integration_configuration?: Management.B2BIntegrationConfiguration;
348
348
  my_organization_configuration?: Management.ClientMyOrganizationPostConfiguration;
349
349
  async_approval_notification_channels?: Management.ClientAsyncApprovalNotificationsChannelsApiPostConfiguration;
350
+ oidc_support?: Management.ClientOidcSupportPost;
350
351
  }
351
352
  /**
352
353
  * @example
@@ -368,6 +369,34 @@ export interface RegisterCimdClientRequestContent {
368
369
  /** URL to the Client ID Metadata Document. Acts as the unique identifier for upsert operations. */
369
370
  external_client_id: string;
370
371
  }
372
+ /**
373
+ * @example
374
+ * {
375
+ * q: "q",
376
+ * parser: "scim",
377
+ * fields: "fields",
378
+ * include_fields: true,
379
+ * take: 1,
380
+ * from: "from",
381
+ * sort: "name"
382
+ * }
383
+ */
384
+ export interface SearchClientsRequestParameters {
385
+ /** Filter expression in SCIM or Lucene syntax (depending on parser parameter). SCIM examples: `name eq "Auth0"`, `name sw "auth" and app_type eq "spa"`. SCIM operators: eq, ne, sw, ew, co, pr, gt, ge, lt, le, and, or. <br /><br /><b>Supported Fields</b>:<br /><ul><li><i>client_id</i> - Auth0 client ID (case-sensitive, exact match)</li><li><i>external_client_id</i> - URL of the Client ID Metadata Document (CIMD); case-sensitive, exact match</li><li><i>name</i> - Client name (supports contains, starts-with, ends-with operators; sortable)</li><li><i>app_type</i> - Application type (e.g. "spa", "native", "non_interactive")</li><li><i>is_first_party</i> - Whether the client is first-party (boolean)</li><li><i>updated_at</i> - Last update timestamp (supports date range operators; sortable)</li><li><i>metadata.{key}</i> - Filter by client metadata key-value pairs (max 2-level key depth, values indexed up to 64 characters)</li><li><i>client_grant.organization_id</i> - Filter by associated organization ID</li><li><i>client_grant.allow_any_organization</i> - Filter by allow any organization setting</li></ul>Maximum 5 filter operations per query. Results are eventually consistent and may not reflect recent updates. */
386
+ q?: string | null;
387
+ /** Query parser to use for the filter expression. Use "scim" for SCIM filter syntax or "lucene" for Lucene query syntax (default). */
388
+ parser?: Management.SearchParserEnum | null;
389
+ /** Comma-separated list of fields to include or exclude in the response. Works with the include_fields parameter to control projection mode. Maximum 50 fields. */
390
+ fields?: string | null;
391
+ /** Controls field projection mode. Set to true to include only fields specified in the fields parameter. Set to false to exclude fields specified in the fields parameter. Defaults to true if not specified. */
392
+ include_fields?: boolean | null;
393
+ /** Maximum number of results to return per page (1-100). Defaults to 50. */
394
+ take?: number | null;
395
+ /** Cursor for the next page of results. Use the value from the next field in the previous response. */
396
+ from?: string | null;
397
+ /** Field name to sort results by in ascending order. Defaults to insertion order (oldest first) if not provided. */
398
+ sort?: Management.ClientSortFieldEnum | null;
399
+ }
371
400
  /**
372
401
  * @example
373
402
  * {
@@ -479,6 +508,7 @@ export interface UpdateClientRequestContent {
479
508
  async_approval_notification_channels?: (Management.ClientAsyncApprovalNotificationsChannelsApiPatchConfiguration | undefined) | null;
480
509
  third_party_security_mode?: Management.ClientThirdPartySecurityModeEnum;
481
510
  redirection_policy?: Management.ClientRedirectionPolicyEnum;
511
+ oidc_support?: Management.ClientOidcSupportPatch | null;
482
512
  }
483
513
  /**
484
514
  * @example
@@ -1470,6 +1500,8 @@ export interface CreateResourceServerRequestContent {
1470
1500
  access_token?: Management.ResourceServerAccessToken | null;
1471
1501
  token_encryption?: Management.ResourceServerTokenEncryption | null;
1472
1502
  consent_policy?: Management.ResourceServerConsentPolicyEnum | null;
1503
+ /** When true, the resource server requires every consent approval to be digitally signed, so the approver cannot later deny a consent they granted. When false, consent decisions do not need a signature. Defaults to false. A configured value is still returned even after the related entitlement is disabled. */
1504
+ require_consent_non_repudiation?: boolean;
1473
1505
  authorization_details?: unknown[] | null;
1474
1506
  proof_of_possession?: Management.ResourceServerProofOfPossession | null;
1475
1507
  subject_type_authorization?: Management.ResourceServerSubjectTypeAuthorization;
@@ -1543,6 +1575,8 @@ export interface UpdateResourceServerRequestContent {
1543
1575
  access_token?: Management.ResourceServerAccessToken | null;
1544
1576
  token_encryption?: Management.ResourceServerTokenEncryption | null;
1545
1577
  consent_policy?: Management.ResourceServerConsentPolicyEnum | null;
1578
+ /** When true, the resource server requires every consent approval to be digitally signed, so the approver cannot later deny a consent they granted. When false, consent decisions do not need a signature. Defaults to false. A configured value is still returned even after the related entitlement is disabled. */
1579
+ require_consent_non_repudiation?: boolean;
1546
1580
  authorization_details?: unknown[] | null;
1547
1581
  proof_of_possession?: Management.ResourceServerProofOfPossession | null;
1548
1582
  subject_type_authorization?: Management.ResourceServerSubjectTypeAuthorization;
@@ -1898,8 +1932,8 @@ export interface ListUserBlocksByIdentifierRequestParameters {
1898
1932
  /** Should be any of a username, phone number, or email. */
1899
1933
  identifier: string;
1900
1934
  /**
1901
- * If true and Brute Force Protection is enabled and configured to block logins, will return a list of blocked IP addresses.
1902
- * If true and Brute Force Protection is disabled, will return an empty list.
1935
+ * If true, returns only blocks that are currently enforced (e.g. subject to protection status, IP allowlist, etc.).
1936
+ * If false or omitted, returns all blocks regardless of enforcement state.
1903
1937
  *
1904
1938
  */
1905
1939
  consider_brute_force_enablement?: boolean | null;
@@ -1922,8 +1956,8 @@ export interface DeleteUserBlocksByIdentifierRequestParameters {
1922
1956
  */
1923
1957
  export interface ListUserBlocksRequestParameters {
1924
1958
  /**
1925
- * If true and Brute Force Protection is enabled and configured to block logins, will return a list of blocked IP addresses.
1926
- * If true and Brute Force Protection is disabled, will return an empty list.
1959
+ * If true, returns only blocks that are currently enforced (e.g. subject to protection status, IP allowlist, etc.).
1960
+ * If false or omitted, returns all blocks regardless of enforcement state.
1927
1961
  *
1928
1962
  */
1929
1963
  consider_brute_force_enablement?: boolean | null;
@@ -2251,6 +2285,7 @@ export interface UpdateBruteForceSettingsRequestContent {
2251
2285
  mode?: Management.BruteForceProtectionModeEnum;
2252
2286
  /** Maximum number of unsuccessful attempts. */
2253
2287
  max_attempts?: number;
2288
+ form_submission_mode?: Management.BruteForceProtectionFormSubmissionModeEnum;
2254
2289
  }
2255
2290
  /**
2256
2291
  * @example
@@ -2824,6 +2859,71 @@ export interface CreateEventStreamRedeliveryRequestContent {
2824
2859
  /** Filter by event type */
2825
2860
  event_types?: Management.EventStreamEventTypeEnum[];
2826
2861
  }
2862
+ /**
2863
+ * @example
2864
+ * {
2865
+ * from: "from",
2866
+ * take: 1,
2867
+ * status: "draft",
2868
+ * authentication_flow: "authentication_flow",
2869
+ * feature_flag_id: "feature_flag_id"
2870
+ * }
2871
+ */
2872
+ export interface ListExperimentsRequestParameters {
2873
+ /** Optional Id from which to start selection. */
2874
+ from?: string | null;
2875
+ /** Number of experiments to return per page. Defaults to 25, maximum 50. */
2876
+ take?: number | null;
2877
+ /** Filter by status. Exact match. */
2878
+ status?: Management.ExperimentStatusEnum | null;
2879
+ /** Filter by authentication flow. Exact match. */
2880
+ authentication_flow?: string | null;
2881
+ /** Filter by feature flag ID. Exact match. */
2882
+ feature_flag_id?: string | null;
2883
+ }
2884
+ /**
2885
+ * @example
2886
+ * {
2887
+ * name: "name",
2888
+ * feature_flag_id: "feature_flag_id",
2889
+ * authentication_flow: "authentication"
2890
+ * }
2891
+ */
2892
+ export interface CreateExperimentRequestContent {
2893
+ /** A human-readable name for the experiment */
2894
+ name: string;
2895
+ /** A description of the experiment */
2896
+ description?: string;
2897
+ /** The ID of the feature flag this experiment is based on */
2898
+ feature_flag_id: string;
2899
+ authentication_flow: Management.AuthenticationFlowEnum;
2900
+ /** Applies only to Auth0-managed flags. Controls where non-overridden config keys resolve from: 'tenant' inherits the tenant's live config so the experiment overlays only its changes, 'flag' uses the flag's frozen defaults for a complete config. Optional; defaults to 'tenant' when omitted. Rejected for customer-defined flags. */
2901
+ default_config?: Management.DefaultConfigEnum;
2902
+ /** The traffic allocation strategy for this experiment */
2903
+ allocation_strategy?: Management.AllocationStrategyEnum;
2904
+ /** Traffic allocations mapping variations to weights or segments */
2905
+ allocations?: Management.AllocationRequestItem[];
2906
+ /** Ramp experiment levels configuration. A strictly-increasing sequence of exposure percentages, each an integer in [0, 100]. */
2907
+ levels?: number[];
2908
+ }
2909
+ /**
2910
+ * @example
2911
+ * {}
2912
+ */
2913
+ export interface UpdateExperimentRequestParameters {
2914
+ /** A human-readable name for the experiment */
2915
+ name?: string;
2916
+ /** A description of the experiment */
2917
+ description?: string | null;
2918
+ /** Specifies the target authentication flow for this experiment. This field can only be modified on draft experiments. Must be one of: authentication, mfa_enrollment, mfa_challenge, password_reset, passkey_enrollment, or all. Note that the all value targets every flow at once, but requires that this is the only active experiment. */
2919
+ authentication_flow?: Management.AuthenticationFlowEnum;
2920
+ /** Replaces all traffic allocations. Cannot be modified while the experiment is active. */
2921
+ allocations?: Management.AllocationRequestItem[];
2922
+ /** Applies only to Auth0-managed flags. Controls where non-overridden config keys resolve from: 'tenant' inherits the tenant's live config, 'flag' uses the flag's frozen defaults. Can only be modified on draft experiments. Rejected for customer-defined flags. */
2923
+ default_config?: Management.DefaultConfigEnum;
2924
+ /** Ramp experiment levels configuration. A strictly-increasing sequence of exposure percentages, each an integer in [0, 100]. Can only be modified on draft experiments. */
2925
+ levels?: number[];
2926
+ }
2827
2927
  /**
2828
2928
  * @example
2829
2929
  * {
@@ -2834,6 +2934,140 @@ export interface AdvanceRampRequestContent {
2834
2934
  /** The target percentage level from the experiment schedule. Must be the immediate next level. */
2835
2935
  target_level: number;
2836
2936
  }
2937
+ /**
2938
+ * @example
2939
+ * {
2940
+ * status: "active"
2941
+ * }
2942
+ */
2943
+ export interface UpdateExperimentStatusRequestContent {
2944
+ status: Management.ExperimentTransitionStatusEnum;
2945
+ }
2946
+ /**
2947
+ * @example
2948
+ * {
2949
+ * from: "from",
2950
+ * take: 1,
2951
+ * type: "auth0",
2952
+ * status: "draft"
2953
+ * }
2954
+ */
2955
+ export interface ListFeatureFlagsRequestParameters {
2956
+ /** Optional Id from which to start selection. */
2957
+ from?: string | null;
2958
+ /** Number of feature flags to return per page. Defaults to 25, maximum 50. */
2959
+ take?: number | null;
2960
+ /** Filter by type. Exact match. */
2961
+ type?: Management.FeatureFlagTypeEnum | null;
2962
+ /** Filter by status. Exact match. */
2963
+ status?: Management.FeatureFlagStatusEnum | null;
2964
+ }
2965
+ /**
2966
+ * @example
2967
+ * {
2968
+ * name: "name",
2969
+ * parameters: {}
2970
+ * }
2971
+ */
2972
+ export interface CreateFeatureFlagRequestContent {
2973
+ /** A human-readable name for the feature flag */
2974
+ name: string;
2975
+ /** A description of what this feature flag controls */
2976
+ description?: string;
2977
+ parameters: Management.CreateFeatureFlagParameters;
2978
+ }
2979
+ /**
2980
+ * @example
2981
+ * {}
2982
+ */
2983
+ export interface UpdateFeatureFlagRequestContent {
2984
+ /** A human-readable name for the feature flag */
2985
+ name?: string;
2986
+ /** A description of what this feature flag controls */
2987
+ description?: string | null;
2988
+ parameters?: Management.UpdateFeatureFlagParameters;
2989
+ }
2990
+ /**
2991
+ * @example
2992
+ * {
2993
+ * status: "draft"
2994
+ * }
2995
+ */
2996
+ export interface UpdateFeatureFlagStatusRequestContent {
2997
+ /** The target status to transition the feature flag to. */
2998
+ status: Management.FeatureFlagStatusEnum;
2999
+ }
3000
+ /**
3001
+ * @example
3002
+ * {
3003
+ * from: "from",
3004
+ * take: 1,
3005
+ * type: "auth0"
3006
+ * }
3007
+ */
3008
+ export interface ListSegmentsRequestParameters {
3009
+ /** Optional Id from which to start selection. */
3010
+ from?: string | null;
3011
+ /** Number of segments to return per page. Defaults to 25, maximum 50. */
3012
+ take?: number | null;
3013
+ /** Filter by type. Exact match. */
3014
+ type?: Management.SegmentTypeFilterEnum | null;
3015
+ }
3016
+ /**
3017
+ * @example
3018
+ * {
3019
+ * name: "name",
3020
+ * rules: [{}]
3021
+ * }
3022
+ */
3023
+ export interface CreateSegmentRequestContent {
3024
+ /** A human-readable name for the segment */
3025
+ name: string;
3026
+ /** A description of the segment */
3027
+ description?: string;
3028
+ /** An ordered list of rules. A segment matches if any rule matches. Each rule is limited to 4KB and the whole segment to 10KB (serialized). */
3029
+ rules: Management.SegmentRule[];
3030
+ }
3031
+ /**
3032
+ * @example
3033
+ * {}
3034
+ */
3035
+ export interface UpdateSegmentRequestContent {
3036
+ /** A human-readable name for the segment */
3037
+ name?: string;
3038
+ /** A description of the segment */
3039
+ description?: string | null;
3040
+ /** Replaces the entire rules array. Each rule is limited to 4KB and the whole segment to 10KB (serialized). */
3041
+ rules?: Management.SegmentRule[];
3042
+ }
3043
+ /**
3044
+ * @example
3045
+ * {
3046
+ * name: "name",
3047
+ * overrides: {
3048
+ * "key": "value"
3049
+ * }
3050
+ * }
3051
+ */
3052
+ export interface CreateVariationRequestContent {
3053
+ /** A human-readable name for the variation */
3054
+ name: string;
3055
+ /** A description of what this variation controls */
3056
+ description?: string;
3057
+ /** Configuration overrides for this variation; keys must exist in the parent flag parameters. Empty {} is the baseline (control) variation that overrides nothing. */
3058
+ overrides: Management.VariationOverridesMap;
3059
+ }
3060
+ /**
3061
+ * @example
3062
+ * {}
3063
+ */
3064
+ export interface UpdateVariationRequestContent {
3065
+ /** A human-readable name for the variation */
3066
+ name?: string;
3067
+ /** A description of what this variation controls */
3068
+ description?: string | null;
3069
+ overrides?: Management.UpdateVariationOverridesMap;
3070
+ }
2837
3071
  /**
2838
3072
  * @example
2839
3073
  * {
@@ -151,6 +151,43 @@ export declare class ClientsClient {
151
151
  */
152
152
  registerCimdClient(request: Management.RegisterCimdClientRequestContent, requestOptions?: ClientsClient.RequestOptions): core.HttpResponsePromise<Management.RegisterCimdClientResponseContent>;
153
153
  private __registerCimdClient;
154
+ /**
155
+ * Search clients using SCIM or Lucene filter syntax with low-latency, eventually consistent results.
156
+ * Use the parser parameter to specify "scim" or "lucene" syntax (default: "lucene").
157
+ * This endpoint provides an alternative to the standard GET /clients endpoint with better performance
158
+ * for complex queries. Results may not reflect recent updates immediately.
159
+ *
160
+ * - This endpoint only supports `read:clients` and `read:client_summary` scopes. The `read:client_keys` and `read:client_credentials` scopes are not supported.
161
+ * - The following fields are never returned by this endpoint:
162
+ * - `client_secret`
163
+ * - `encryption_key`
164
+ * - `signing_keys`
165
+ * - `owners`
166
+ * - `addons`
167
+ *
168
+ * @param {Management.SearchClientsRequestParameters} request
169
+ * @param {ClientsClient.RequestOptions} requestOptions - Request-specific configuration.
170
+ *
171
+ * @throws {@link Management.BadRequestError}
172
+ * @throws {@link Management.UnauthorizedError}
173
+ * @throws {@link Management.ForbiddenError}
174
+ * @throws {@link Management.NotFoundError}
175
+ * @throws {@link Management.TooManyRequestsError}
176
+ * @throws {@link Management.InternalServerError}
177
+ * @throws {@link Management.GatewayTimeoutError}
178
+ *
179
+ * @example
180
+ * await client.clients.search({
181
+ * q: "q",
182
+ * parser: "scim",
183
+ * fields: "fields",
184
+ * include_fields: true,
185
+ * take: 1,
186
+ * from: "from",
187
+ * sort: "name"
188
+ * })
189
+ */
190
+ search(request?: Management.SearchClientsRequestParameters, requestOptions?: ClientsClient.RequestOptions): Promise<core.Page<Management.ClientSearchResponse, Management.SearchClientsResponseContent>>;
154
191
  /**
155
192
  * Retrieve client details by ID. Clients are SSO connections or Applications linked with your Auth0 tenant. A list of fields to include or exclude may also be specified.
156
193
  * For more information, read [Applications in Auth0](https://www.auth0.com/docs/get-started/applications) and [Single Sign-On](https://www.auth0.com/docs/authenticate/single-sign-on).
@@ -390,6 +390,117 @@ export class ClientsClient {
390
390
  return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/clients/cimd/register");
391
391
  });
392
392
  }
393
+ /**
394
+ * Search clients using SCIM or Lucene filter syntax with low-latency, eventually consistent results.
395
+ * Use the parser parameter to specify "scim" or "lucene" syntax (default: "lucene").
396
+ * This endpoint provides an alternative to the standard GET /clients endpoint with better performance
397
+ * for complex queries. Results may not reflect recent updates immediately.
398
+ *
399
+ * - This endpoint only supports `read:clients` and `read:client_summary` scopes. The `read:client_keys` and `read:client_credentials` scopes are not supported.
400
+ * - The following fields are never returned by this endpoint:
401
+ * - `client_secret`
402
+ * - `encryption_key`
403
+ * - `signing_keys`
404
+ * - `owners`
405
+ * - `addons`
406
+ *
407
+ * @param {Management.SearchClientsRequestParameters} request
408
+ * @param {ClientsClient.RequestOptions} requestOptions - Request-specific configuration.
409
+ *
410
+ * @throws {@link Management.BadRequestError}
411
+ * @throws {@link Management.UnauthorizedError}
412
+ * @throws {@link Management.ForbiddenError}
413
+ * @throws {@link Management.NotFoundError}
414
+ * @throws {@link Management.TooManyRequestsError}
415
+ * @throws {@link Management.InternalServerError}
416
+ * @throws {@link Management.GatewayTimeoutError}
417
+ *
418
+ * @example
419
+ * await client.clients.search({
420
+ * q: "q",
421
+ * parser: "scim",
422
+ * fields: "fields",
423
+ * include_fields: true,
424
+ * take: 1,
425
+ * from: "from",
426
+ * sort: "name"
427
+ * })
428
+ */
429
+ search() {
430
+ return __awaiter(this, arguments, void 0, function* (request = {}, requestOptions) {
431
+ const list = core.HttpResponsePromise.interceptFunction((request) => __awaiter(this, void 0, void 0, function* () {
432
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
433
+ const { q, parser, fields, include_fields: includeFields, take = 50, from: from_, sort } = request;
434
+ const _queryParams = {
435
+ q,
436
+ parser: parser !== undefined ? parser : undefined,
437
+ fields,
438
+ include_fields: includeFields,
439
+ take,
440
+ from: from_,
441
+ sort: sort !== undefined ? sort : undefined,
442
+ };
443
+ const _authRequest = yield this._options.authProvider.getAuthRequest();
444
+ let _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
445
+ const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({
446
+ url: core.url.join((_d = (_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.ManagementEnvironment.Default, "clients/search"),
447
+ method: "GET",
448
+ headers: _headers,
449
+ queryString: core.url
450
+ .queryBuilder()
451
+ .addMany(_queryParams)
452
+ .mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams)
453
+ .build(),
454
+ timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,
455
+ maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,
456
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
457
+ fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,
458
+ logging: this._options.logging,
459
+ });
460
+ if (_response.ok) {
461
+ return {
462
+ data: _response.body,
463
+ rawResponse: _response.rawResponse,
464
+ };
465
+ }
466
+ if (_response.error.reason === "status-code") {
467
+ switch (_response.error.statusCode) {
468
+ case 400:
469
+ throw new Management.BadRequestError(_response.error.body, _response.rawResponse);
470
+ case 401:
471
+ throw new Management.UnauthorizedError(_response.error.body, _response.rawResponse);
472
+ case 403:
473
+ throw new Management.ForbiddenError(_response.error.body, _response.rawResponse);
474
+ case 404:
475
+ throw new Management.NotFoundError(_response.error.body, _response.rawResponse);
476
+ case 429:
477
+ throw new Management.TooManyRequestsError(_response.error.body, _response.rawResponse);
478
+ case 500:
479
+ throw new Management.InternalServerError(_response.error.body, _response.rawResponse);
480
+ case 504:
481
+ throw new Management.GatewayTimeoutError(_response.error.body, _response.rawResponse);
482
+ default:
483
+ throw new errors.ManagementError({
484
+ statusCode: _response.error.statusCode,
485
+ body: _response.error.body,
486
+ rawResponse: _response.rawResponse,
487
+ });
488
+ }
489
+ }
490
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/clients/search");
491
+ }));
492
+ const dataWithRawResponse = yield list(request).withRawResponse();
493
+ return new core.Page({
494
+ response: dataWithRawResponse.data,
495
+ rawResponse: dataWithRawResponse.rawResponse,
496
+ hasNextPage: (response) => (response === null || response === void 0 ? void 0 : response.next) != null && !(typeof (response === null || response === void 0 ? void 0 : response.next) === "string" && (response === null || response === void 0 ? void 0 : response.next) === ""),
497
+ getItems: (response) => { var _a; return (_a = response === null || response === void 0 ? void 0 : response.clients) !== null && _a !== void 0 ? _a : []; },
498
+ loadPage: (response) => {
499
+ return list(core.setObjectProperty(request, "from", response === null || response === void 0 ? void 0 : response.next));
500
+ },
501
+ });
502
+ });
503
+ }
393
504
  /**
394
505
  * Retrieve client details by ID. Clients are SSO connections or Applications linked with your Auth0 tenant. A list of fields to include or exclude may also be specified.
395
506
  * For more information, read [Applications in Auth0](https://www.auth0.com/docs/get-started/applications) and [Single Sign-On](https://www.auth0.com/docs/authenticate/single-sign-on).
@@ -1,12 +1,18 @@
1
1
  import type { BaseClientOptions } from "../../../../BaseClient.mjs";
2
2
  import { type NormalizedClientOptionsWithAuth } from "../../../../BaseClient.mjs";
3
3
  import { ExperimentsClient } from "../resources/experiments/client/Client.mjs";
4
+ import { FeatureFlagsClient } from "../resources/featureFlags/client/Client.mjs";
5
+ import { SegmentsClient } from "../resources/segments/client/Client.mjs";
4
6
  export declare namespace ExperimentationClient {
5
7
  type Options = BaseClientOptions;
6
8
  }
7
9
  export declare class ExperimentationClient {
8
10
  protected readonly _options: NormalizedClientOptionsWithAuth<ExperimentationClient.Options>;
9
11
  protected _experiments: ExperimentsClient | undefined;
12
+ protected _featureFlags: FeatureFlagsClient | undefined;
13
+ protected _segments: SegmentsClient | undefined;
10
14
  constructor(options: ExperimentationClient.Options);
11
15
  get experiments(): ExperimentsClient;
16
+ get featureFlags(): FeatureFlagsClient;
17
+ get segments(): SegmentsClient;
12
18
  }
@@ -1,6 +1,8 @@
1
1
  // This file was auto-generated by Fern from our API Definition.
2
2
  import { normalizeClientOptionsWithAuth } from "../../../../BaseClient.mjs";
3
3
  import { ExperimentsClient } from "../resources/experiments/client/Client.mjs";
4
+ import { FeatureFlagsClient } from "../resources/featureFlags/client/Client.mjs";
5
+ import { SegmentsClient } from "../resources/segments/client/Client.mjs";
4
6
  export class ExperimentationClient {
5
7
  constructor(options) {
6
8
  this._options = normalizeClientOptionsWithAuth(options);
@@ -9,4 +11,12 @@ export class ExperimentationClient {
9
11
  var _a;
10
12
  return ((_a = this._experiments) !== null && _a !== void 0 ? _a : (this._experiments = new ExperimentsClient(this._options)));
11
13
  }
14
+ get featureFlags() {
15
+ var _a;
16
+ return ((_a = this._featureFlags) !== null && _a !== void 0 ? _a : (this._featureFlags = new FeatureFlagsClient(this._options)));
17
+ }
18
+ get segments() {
19
+ var _a;
20
+ return ((_a = this._segments) !== null && _a !== void 0 ? _a : (this._segments = new SegmentsClient(this._options)));
21
+ }
12
22
  }
@@ -10,6 +10,101 @@ export declare namespace ExperimentsClient {
10
10
  export declare class ExperimentsClient {
11
11
  protected readonly _options: NormalizedClientOptionsWithAuth<ExperimentsClient.Options>;
12
12
  constructor(options: ExperimentsClient.Options);
13
+ /**
14
+ * Retrieve a paginated list of experiments for the tenant, with optional filters.
15
+ *
16
+ * @param {Management.ListExperimentsRequestParameters} request
17
+ * @param {ExperimentsClient.RequestOptions} requestOptions - Request-specific configuration.
18
+ *
19
+ * @throws {@link Management.BadRequestError}
20
+ * @throws {@link Management.UnauthorizedError}
21
+ * @throws {@link Management.ForbiddenError}
22
+ * @throws {@link Management.TooManyRequestsError}
23
+ *
24
+ * @example
25
+ * await client.experimentation.experiments.list({
26
+ * from: "from",
27
+ * take: 1,
28
+ * status: "draft",
29
+ * authentication_flow: "authentication_flow",
30
+ * feature_flag_id: "feature_flag_id"
31
+ * })
32
+ */
33
+ list(request?: Management.ListExperimentsRequestParameters, requestOptions?: ExperimentsClient.RequestOptions): Promise<core.Page<Management.ExperimentListItem, Management.ListExperimentsResponseContent>>;
34
+ /**
35
+ * Create a new experiment for A/B testing.
36
+ *
37
+ * @param {Management.CreateExperimentRequestContent} request
38
+ * @param {ExperimentsClient.RequestOptions} requestOptions - Request-specific configuration.
39
+ *
40
+ * @throws {@link Management.BadRequestError}
41
+ * @throws {@link Management.UnauthorizedError}
42
+ * @throws {@link Management.ForbiddenError}
43
+ * @throws {@link Management.NotFoundError}
44
+ * @throws {@link Management.ConflictError}
45
+ * @throws {@link Management.UnprocessableEntityError}
46
+ * @throws {@link Management.TooManyRequestsError}
47
+ *
48
+ * @example
49
+ * await client.experimentation.experiments.create({
50
+ * name: "name",
51
+ * feature_flag_id: "feature_flag_id",
52
+ * authentication_flow: "authentication"
53
+ * })
54
+ */
55
+ create(request: Management.CreateExperimentRequestContent, requestOptions?: ExperimentsClient.RequestOptions): core.HttpResponsePromise<Management.CreateExperimentResponseContent>;
56
+ private __create;
57
+ /**
58
+ * Retrieve a single experiment with its allocations by ID.
59
+ *
60
+ * @param {string} id - The ID of the experiment to retrieve.
61
+ * @param {ExperimentsClient.RequestOptions} requestOptions - Request-specific configuration.
62
+ *
63
+ * @throws {@link Management.UnauthorizedError}
64
+ * @throws {@link Management.ForbiddenError}
65
+ * @throws {@link Management.NotFoundError}
66
+ * @throws {@link Management.TooManyRequestsError}
67
+ *
68
+ * @example
69
+ * await client.experimentation.experiments.get("id")
70
+ */
71
+ get(id: string, requestOptions?: ExperimentsClient.RequestOptions): core.HttpResponsePromise<Management.GetExperimentResponseContent>;
72
+ private __get;
73
+ /**
74
+ * Permanently delete an experiment and its allocations by ID. Active experiments cannot be deleted; pause or complete first. Idempotent: returns 204 even if the experiment does not exist.
75
+ *
76
+ * @param {string} id - The ID of the experiment to delete.
77
+ * @param {ExperimentsClient.RequestOptions} requestOptions - Request-specific configuration.
78
+ *
79
+ * @throws {@link Management.BadRequestError}
80
+ * @throws {@link Management.ForbiddenError}
81
+ * @throws {@link Management.TooManyRequestsError}
82
+ *
83
+ * @example
84
+ * await client.experimentation.experiments.delete("id")
85
+ */
86
+ delete(id: string, requestOptions?: ExperimentsClient.RequestOptions): core.HttpResponsePromise<void>;
87
+ private __delete;
88
+ /**
89
+ * Partially update an experiment by ID. Only provided fields are updated. Providing allocations replaces the entire allocations set.
90
+ *
91
+ * @param {string} id - The ID of the experiment to update.
92
+ * @param {Management.UpdateExperimentRequestParameters} request
93
+ * @param {ExperimentsClient.RequestOptions} requestOptions - Request-specific configuration.
94
+ *
95
+ * @throws {@link Management.BadRequestError}
96
+ * @throws {@link Management.UnauthorizedError}
97
+ * @throws {@link Management.ForbiddenError}
98
+ * @throws {@link Management.NotFoundError}
99
+ * @throws {@link Management.ConflictError}
100
+ * @throws {@link Management.UnprocessableEntityError}
101
+ * @throws {@link Management.TooManyRequestsError}
102
+ *
103
+ * @example
104
+ * await client.experimentation.experiments.update("id")
105
+ */
106
+ update(id: string, request?: Management.UpdateExperimentRequestParameters, requestOptions?: ExperimentsClient.RequestOptions): core.HttpResponsePromise<Management.UpdateExperimentResponseContent>;
107
+ private __update;
13
108
  /**
14
109
  * Increments the current ramp index to the requested target level. Up-only: the target must be the immediate next level in the schedule. Idempotent: calling with the current level returns success without writing anything.
15
110
  *
@@ -31,4 +126,42 @@ export declare class ExperimentsClient {
31
126
  */
32
127
  advanceRamp(id: string, request: Management.AdvanceRampRequestContent, requestOptions?: ExperimentsClient.RequestOptions): core.HttpResponsePromise<Management.AdvanceRampResponseContent>;
33
128
  private __advanceRamp;
129
+ /**
130
+ * Transitions an experiment through its lifecycle: draft → active, active → paused, paused → active, active/paused → completed. Activation runs full readiness validation.
131
+ *
132
+ * @param {string} id - The ID of the experiment to transition.
133
+ * @param {Management.UpdateExperimentStatusRequestContent} request
134
+ * @param {ExperimentsClient.RequestOptions} requestOptions - Request-specific configuration.
135
+ *
136
+ * @throws {@link Management.BadRequestError}
137
+ * @throws {@link Management.UnauthorizedError}
138
+ * @throws {@link Management.ForbiddenError}
139
+ * @throws {@link Management.NotFoundError}
140
+ * @throws {@link Management.ConflictError}
141
+ * @throws {@link Management.UnprocessableEntityError}
142
+ * @throws {@link Management.TooManyRequestsError}
143
+ *
144
+ * @example
145
+ * await client.experimentation.experiments.updateStatus("id", {
146
+ * status: "active"
147
+ * })
148
+ */
149
+ updateStatus(id: string, request: Management.UpdateExperimentStatusRequestContent, requestOptions?: ExperimentsClient.RequestOptions): core.HttpResponsePromise<Management.UpdateExperimentStatusResponseContent>;
150
+ private __updateStatus;
151
+ /**
152
+ * Checks whether an experiment is ready to be activated. Returns is_valid boolean and an errors array describing any blockers. Read-only; no state is modified.
153
+ *
154
+ * @param {string} id - The ID of the experiment to validate.
155
+ * @param {ExperimentsClient.RequestOptions} requestOptions - Request-specific configuration.
156
+ *
157
+ * @throws {@link Management.UnauthorizedError}
158
+ * @throws {@link Management.ForbiddenError}
159
+ * @throws {@link Management.NotFoundError}
160
+ * @throws {@link Management.TooManyRequestsError}
161
+ *
162
+ * @example
163
+ * await client.experimentation.experiments.validate("id")
164
+ */
165
+ validate(id: string, requestOptions?: ExperimentsClient.RequestOptions): core.HttpResponsePromise<Management.ValidateExperimentResponseContent>;
166
+ private __validate;
34
167
  }