From 8992dc64edcedebcbde48e33f376d8489e4a8d19 Mon Sep 17 00:00:00 2001
From: taicchoumsft <61705609+taicchoumsft@users.noreply.github.com>
Date: Fri, 10 Jan 2025 13:34:01 -0500
Subject: [PATCH] =?UTF-8?q?Generating=20confidentialledger=20SDK=20for=20A?=
 =?UTF-8?q?PI=20spec=20version=202024-01-26-pre=E2=80=A6=20(#47340)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* Generating confidentialledger SDK for API spec version 2024-01-26-preview
* API adds the ability to list users.
---
 .../CHANGELOG.md                              |   2 +-
 ...zure.Security.ConfidentialLedger.net8.0.cs |   8 +-
 ...urity.ConfidentialLedger.netstandard2.0.cs |   8 +-
 .../assets.json                               |   2 +-
 .../Azure.Security.ConfidentialLedger.csproj  |   2 +-
 .../ConfidentialLedgerCertificateClient.cs    |   2 +-
 ...fidentialLedgerCertificateClientOptions.cs |   5 +-
 .../src/ConfidentialLedgerClient.cs           |   2 +-
 .../src/ConfidentialLedgerClientOptions.cs    |  27 +-
 .../ConfidentialLedgerCertificateClient.cs    |   4 +-
 .../src/Generated/ConfidentialLedgerClient.cs | 103 ++++++--
 .../ConfidentialLedgerClientOptions.cs        |  37 ---
 .../ConfidentialLedgerCertificateClient.xml   |   8 +-
 .../Docs/ConfidentialLedgerClient.xml         | 226 +++++++++++++----
 .../src/autorest.md                           |  29 ++-
 .../ConfidentialLedgerClientLiveTests.cs      |  28 +++
 ...les_ConfidentialLedgerCertificateClient.cs |   8 +-
 .../Samples_ConfidentialLedgerClient.cs       | 232 ++++++++++++++----
 18 files changed, 549 insertions(+), 184 deletions(-)
 delete mode 100644 sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/Generated/ConfidentialLedgerClientOptions.cs

diff --git a/sdk/confidentialledger/Azure.Security.ConfidentialLedger/CHANGELOG.md b/sdk/confidentialledger/Azure.Security.ConfidentialLedger/CHANGELOG.md
index e12f36d69099..770ccf753983 100644
--- a/sdk/confidentialledger/Azure.Security.ConfidentialLedger/CHANGELOG.md
+++ b/sdk/confidentialledger/Azure.Security.ConfidentialLedger/CHANGELOG.md
@@ -1,6 +1,6 @@
 # Release History
 
-## 1.4.0-beta.1 (Unreleased)
+## 1.4.1-beta.1 (Unreleased)
 
 ### Features Added
 
diff --git a/sdk/confidentialledger/Azure.Security.ConfidentialLedger/api/Azure.Security.ConfidentialLedger.net8.0.cs b/sdk/confidentialledger/Azure.Security.ConfidentialLedger/api/Azure.Security.ConfidentialLedger.net8.0.cs
index cf18a93111d9..f1278fa41532 100644
--- a/sdk/confidentialledger/Azure.Security.ConfidentialLedger/api/Azure.Security.ConfidentialLedger.net8.0.cs
+++ b/sdk/confidentialledger/Azure.Security.ConfidentialLedger/api/Azure.Security.ConfidentialLedger.net8.0.cs
@@ -34,17 +34,20 @@ public ConfidentialLedgerClient(System.Uri ledgerEndpoint, System.Security.Crypt
         public virtual System.Threading.Tasks.Task<Azure.Response> GetTransactionStatusAsync(string transactionId, Azure.RequestContext context = null) { throw null; }
         public virtual Azure.Response GetUser(string userId, Azure.RequestContext context = null) { throw null; }
         public virtual System.Threading.Tasks.Task<Azure.Response> GetUserAsync(string userId, Azure.RequestContext context = null) { throw null; }
+        public virtual Azure.Pageable<System.BinaryData> GetUsers(Azure.RequestContext context = null) { throw null; }
+        public virtual Azure.AsyncPageable<System.BinaryData> GetUsersAsync(Azure.RequestContext context = null) { throw null; }
         public virtual Azure.Operation PostLedgerEntry(Azure.WaitUntil waitUntil, Azure.Core.RequestContent content, string collectionId = null, Azure.RequestContext context = null) { throw null; }
         public virtual System.Threading.Tasks.Task<Azure.Operation> PostLedgerEntryAsync(Azure.WaitUntil waitUntil, Azure.Core.RequestContent content, string collectionId = null, Azure.RequestContext context = null) { throw null; }
     }
     public partial class ConfidentialLedgerClientOptions : Azure.Core.ClientOptions
     {
-        public ConfidentialLedgerClientOptions(Azure.Security.ConfidentialLedger.ConfidentialLedgerClientOptions.ServiceVersion version = Azure.Security.ConfidentialLedger.ConfidentialLedgerClientOptions.ServiceVersion.V2022_05_13) { }
+        public ConfidentialLedgerClientOptions(Azure.Security.ConfidentialLedger.ConfidentialLedgerClientOptions.ServiceVersion version = Azure.Security.ConfidentialLedger.ConfidentialLedgerClientOptions.ServiceVersion.V2024_01_26_Preview) { }
         public System.Uri CertificateEndpoint { get { throw null; } set { } }
         public bool VerifyConnection { get { throw null; } set { } }
         public enum ServiceVersion
         {
             V2022_05_13 = 1,
+            V2024_01_26_Preview = 2,
         }
     }
 }
@@ -61,10 +64,11 @@ public ConfidentialLedgerCertificateClient(System.Uri certificateEndpoint, Azure
     }
     public partial class ConfidentialLedgerCertificateClientOptions : Azure.Core.ClientOptions
     {
-        public ConfidentialLedgerCertificateClientOptions(Azure.Security.ConfidentialLedger.Certificate.ConfidentialLedgerCertificateClientOptions.ServiceVersion version = Azure.Security.ConfidentialLedger.Certificate.ConfidentialLedgerCertificateClientOptions.ServiceVersion.V2022_05_13) { }
+        public ConfidentialLedgerCertificateClientOptions(Azure.Security.ConfidentialLedger.Certificate.ConfidentialLedgerCertificateClientOptions.ServiceVersion version = Azure.Security.ConfidentialLedger.Certificate.ConfidentialLedgerCertificateClientOptions.ServiceVersion.V2024_01_26_Preview) { }
         public enum ServiceVersion
         {
             V2022_05_13 = 1,
+            V2024_01_26_Preview = 2,
         }
     }
 }
diff --git a/sdk/confidentialledger/Azure.Security.ConfidentialLedger/api/Azure.Security.ConfidentialLedger.netstandard2.0.cs b/sdk/confidentialledger/Azure.Security.ConfidentialLedger/api/Azure.Security.ConfidentialLedger.netstandard2.0.cs
index cf18a93111d9..f1278fa41532 100644
--- a/sdk/confidentialledger/Azure.Security.ConfidentialLedger/api/Azure.Security.ConfidentialLedger.netstandard2.0.cs
+++ b/sdk/confidentialledger/Azure.Security.ConfidentialLedger/api/Azure.Security.ConfidentialLedger.netstandard2.0.cs
@@ -34,17 +34,20 @@ public ConfidentialLedgerClient(System.Uri ledgerEndpoint, System.Security.Crypt
         public virtual System.Threading.Tasks.Task<Azure.Response> GetTransactionStatusAsync(string transactionId, Azure.RequestContext context = null) { throw null; }
         public virtual Azure.Response GetUser(string userId, Azure.RequestContext context = null) { throw null; }
         public virtual System.Threading.Tasks.Task<Azure.Response> GetUserAsync(string userId, Azure.RequestContext context = null) { throw null; }
+        public virtual Azure.Pageable<System.BinaryData> GetUsers(Azure.RequestContext context = null) { throw null; }
+        public virtual Azure.AsyncPageable<System.BinaryData> GetUsersAsync(Azure.RequestContext context = null) { throw null; }
         public virtual Azure.Operation PostLedgerEntry(Azure.WaitUntil waitUntil, Azure.Core.RequestContent content, string collectionId = null, Azure.RequestContext context = null) { throw null; }
         public virtual System.Threading.Tasks.Task<Azure.Operation> PostLedgerEntryAsync(Azure.WaitUntil waitUntil, Azure.Core.RequestContent content, string collectionId = null, Azure.RequestContext context = null) { throw null; }
     }
     public partial class ConfidentialLedgerClientOptions : Azure.Core.ClientOptions
     {
-        public ConfidentialLedgerClientOptions(Azure.Security.ConfidentialLedger.ConfidentialLedgerClientOptions.ServiceVersion version = Azure.Security.ConfidentialLedger.ConfidentialLedgerClientOptions.ServiceVersion.V2022_05_13) { }
+        public ConfidentialLedgerClientOptions(Azure.Security.ConfidentialLedger.ConfidentialLedgerClientOptions.ServiceVersion version = Azure.Security.ConfidentialLedger.ConfidentialLedgerClientOptions.ServiceVersion.V2024_01_26_Preview) { }
         public System.Uri CertificateEndpoint { get { throw null; } set { } }
         public bool VerifyConnection { get { throw null; } set { } }
         public enum ServiceVersion
         {
             V2022_05_13 = 1,
+            V2024_01_26_Preview = 2,
         }
     }
 }
@@ -61,10 +64,11 @@ public ConfidentialLedgerCertificateClient(System.Uri certificateEndpoint, Azure
     }
     public partial class ConfidentialLedgerCertificateClientOptions : Azure.Core.ClientOptions
     {
-        public ConfidentialLedgerCertificateClientOptions(Azure.Security.ConfidentialLedger.Certificate.ConfidentialLedgerCertificateClientOptions.ServiceVersion version = Azure.Security.ConfidentialLedger.Certificate.ConfidentialLedgerCertificateClientOptions.ServiceVersion.V2022_05_13) { }
+        public ConfidentialLedgerCertificateClientOptions(Azure.Security.ConfidentialLedger.Certificate.ConfidentialLedgerCertificateClientOptions.ServiceVersion version = Azure.Security.ConfidentialLedger.Certificate.ConfidentialLedgerCertificateClientOptions.ServiceVersion.V2024_01_26_Preview) { }
         public enum ServiceVersion
         {
             V2022_05_13 = 1,
+            V2024_01_26_Preview = 2,
         }
     }
 }
diff --git a/sdk/confidentialledger/Azure.Security.ConfidentialLedger/assets.json b/sdk/confidentialledger/Azure.Security.ConfidentialLedger/assets.json
index 0f0ef2b0be6a..8d612239a78f 100644
--- a/sdk/confidentialledger/Azure.Security.ConfidentialLedger/assets.json
+++ b/sdk/confidentialledger/Azure.Security.ConfidentialLedger/assets.json
@@ -2,5 +2,5 @@
   "AssetsRepo": "Azure/azure-sdk-assets",
   "AssetsRepoPrefixPath": "net",
   "TagPrefix": "net/confidentialledger/Azure.Security.ConfidentialLedger",
-  "Tag": "net/confidentialledger/Azure.Security.ConfidentialLedger_d8f1bd9cd9"
+  "Tag": "net/confidentialledger/Azure.Security.ConfidentialLedger_a71d645d61"
 }
diff --git a/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/Azure.Security.ConfidentialLedger.csproj b/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/Azure.Security.ConfidentialLedger.csproj
index e9ef8d9a4163..ce859396c8d9 100644
--- a/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/Azure.Security.ConfidentialLedger.csproj
+++ b/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/Azure.Security.ConfidentialLedger.csproj
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <Description>Client SDK for the Azure Confidential Ledger service</Description>
     <AssemblyTitle>Azure Confidential Ledger</AssemblyTitle>
-    <Version>1.4.0-beta.1</Version>
+    <Version>1.4.1-beta.1</Version>
     <!--The ApiCompatVersion is managed automatically and should not generally be modified manually.-->
     <ApiCompatVersion>1.3.0</ApiCompatVersion>
     <PackageTags>Azure ConfidentialLedger</PackageTags>
diff --git a/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/ConfidentialLedgerCertificateClient.cs b/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/ConfidentialLedgerCertificateClient.cs
index 38c6f6d3f916..abb7efcf4b57 100644
--- a/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/ConfidentialLedgerCertificateClient.cs
+++ b/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/ConfidentialLedgerCertificateClient.cs
@@ -38,7 +38,7 @@ public ConfidentialLedgerCertificateClient(Uri certificateEndpoint, Confidential
             options ??= new ConfidentialLedgerCertificateClientOptions();
             ClientDiagnostics = new ClientDiagnostics(options);
             _pipeline = HttpPipelineBuilder.Build(options, Array.Empty<HttpPipelinePolicy>(), Array.Empty<HttpPipelinePolicy>(), new ResponseClassifier());
-            _certificateEndpoint = certificateEndpoint;
+            _endpoint = certificateEndpoint;
             _apiVersion = options.Version;
         }
 
diff --git a/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/ConfidentialLedgerCertificateClientOptions.cs b/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/ConfidentialLedgerCertificateClientOptions.cs
index 260adae0323c..ecb15143d878 100644
--- a/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/ConfidentialLedgerCertificateClientOptions.cs
+++ b/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/ConfidentialLedgerCertificateClientOptions.cs
@@ -13,13 +13,15 @@ namespace Azure.Security.ConfidentialLedger.Certificate
     /// <summary> Client options for ConfidentialLedger library clients. </summary>
     public partial class ConfidentialLedgerCertificateClientOptions : ClientOptions
     {
-        private const ServiceVersion LatestVersion = ServiceVersion.V2022_05_13;
+        private const ServiceVersion LatestVersion = ServiceVersion.V2024_01_26_Preview;
 
         /// <summary> The version of the service to use. </summary>
         public enum ServiceVersion
         {
             /// <summary> Service version "2022-05-13". </summary>
             V2022_05_13 = 1,
+            /// <summary> Service version "2024-01-26-Preview". </summary>
+            V2024_01_26_Preview = 2,
         }
 
         internal string Version { get; }
@@ -30,6 +32,7 @@ public ConfidentialLedgerCertificateClientOptions(ServiceVersion version = Lates
             Version = version switch
             {
                 ServiceVersion.V2022_05_13 => "2022-05-13",
+                ServiceVersion.V2024_01_26_Preview => "2024-01-26-Preview",
                 _ => throw new NotSupportedException()
             };
         }
diff --git a/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/ConfidentialLedgerClient.cs b/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/ConfidentialLedgerClient.cs
index 08b3c8b7269d..216220dfbdfa 100644
--- a/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/ConfidentialLedgerClient.cs
+++ b/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/ConfidentialLedgerClient.cs
@@ -79,7 +79,7 @@ internal ConfidentialLedgerClient(Uri ledgerEndpoint, TokenCredential credential
                     new HttpPipelinePolicy[] { new BearerTokenAuthenticationPolicy(_tokenCredential, AuthorizationScopes) },
                 transportOptions,
                 new ConfidentialLedgerResponseClassifier());
-            _ledgerEndpoint = ledgerEndpoint;
+            _endpoint = ledgerEndpoint;
             _apiVersion = actualOptions.Version;
         }
 
diff --git a/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/ConfidentialLedgerClientOptions.cs b/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/ConfidentialLedgerClientOptions.cs
index 2b85490ecf34..732c289db4de 100644
--- a/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/ConfidentialLedgerClientOptions.cs
+++ b/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/ConfidentialLedgerClientOptions.cs
@@ -4,10 +4,15 @@
 using System;
 using Azure.Core;
 
+[assembly: CodeGenSuppressType("ConfidentialLedgerClientOptions")]
 namespace Azure.Security.ConfidentialLedger
 {
+    /// <summary> Client options for ConfidentialLedger library clients. </summary>
     public partial class ConfidentialLedgerClientOptions : ClientOptions
     {
+        private const ServiceVersion LatestVersion = ServiceVersion.V2024_01_26_Preview;
+        internal string Version { get; }
+
         /// <summary>
         /// The Identity Service URL. If not provided, the default endpoint "https://identity.confidential-ledger.core.azure.com" will be used.
         /// </summary>
@@ -19,5 +24,25 @@ public partial class ConfidentialLedgerClientOptions : ClientOptions
         /// </summary>
         /// <value></value>
         public bool VerifyConnection { get; set; }
+
+        /// <summary> The version of the service to use. </summary>
+        public enum ServiceVersion
+        {
+            /// <summary> Service version "2022-05-13". </summary>
+            V2022_05_13 = 1,
+            /// <summary> Service version "2024-08-22-preview". </summary>
+            V2024_01_26_Preview = 2,
+        }
+
+        /// <summary> Initializes new instance of ConfidentialLedgerClientOptions. </summary>
+        public ConfidentialLedgerClientOptions(ServiceVersion version = LatestVersion)
+        {
+            Version = version switch
+            {
+                ServiceVersion.V2022_05_13 => "2022-05-13",
+                ServiceVersion.V2024_01_26_Preview => "2024-01-26-preview",
+                _ => throw new NotSupportedException()
+            };
+        }
     }
-}
+}
\ No newline at end of file
diff --git a/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/Generated/ConfidentialLedgerCertificateClient.cs b/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/Generated/ConfidentialLedgerCertificateClient.cs
index fe40a71eaa48..02777bbd9f0e 100644
--- a/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/Generated/ConfidentialLedgerCertificateClient.cs
+++ b/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/Generated/ConfidentialLedgerCertificateClient.cs
@@ -19,7 +19,7 @@ public partial class ConfidentialLedgerCertificateClient
         private static readonly string[] AuthorizationScopes = new string[] { "https://confidential-ledger.azure.com/.default" };
         private readonly TokenCredential _tokenCredential;
         private readonly HttpPipeline _pipeline;
-        private readonly Uri _certificateEndpoint;
+        private readonly Uri _endpoint;
         private readonly string _apiVersion;
 
         /// <summary> The ClientDiagnostics is used to provide tracing support for the client library. </summary>
@@ -109,7 +109,7 @@ internal HttpMessage CreateGetLedgerIdentityRequest(string ledgerId, RequestCont
             var request = message.Request;
             request.Method = RequestMethod.Get;
             var uri = new RawRequestUriBuilder();
-            uri.Reset(_certificateEndpoint);
+            uri.Reset(_endpoint);
             uri.AppendPath("/ledgerIdentity/", false);
             uri.AppendPath(ledgerId, true);
             uri.AppendQuery("api-version", _apiVersion, true);
diff --git a/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/Generated/ConfidentialLedgerClient.cs b/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/Generated/ConfidentialLedgerClient.cs
index 9f873ee4a324..26535501ffbc 100644
--- a/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/Generated/ConfidentialLedgerClient.cs
+++ b/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/Generated/ConfidentialLedgerClient.cs
@@ -20,7 +20,7 @@ public partial class ConfidentialLedgerClient
         private static readonly string[] AuthorizationScopes = new string[] { "https://confidential-ledger.azure.com/.default" };
         private readonly TokenCredential _tokenCredential;
         private readonly HttpPipeline _pipeline;
-        private readonly Uri _ledgerEndpoint;
+        private readonly Uri _endpoint;
         private readonly string _apiVersion;
 
         /// <summary> The ClientDiagnostics is used to provide tracing support for the client library. </summary>
@@ -838,13 +838,55 @@ public virtual Pageable<BinaryData> GetLedgerEntries(string collectionId = null,
             return GeneratorPageableHelpers.CreatePageable(FirstPageRequest, NextPageRequest, e => BinaryData.FromString(e.GetRawText()), ClientDiagnostics, _pipeline, "ConfidentialLedgerClient.GetLedgerEntries", "entries", "nextLink", context);
         }
 
+        /// <summary>
+        /// [Protocol Method] Gets details on a list of users.
+        /// <list type="bullet">
+        /// <item>
+        /// <description>
+        /// This <see href="https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/core/Azure.Core/samples/ProtocolMethods.md">protocol method</see> allows explicit creation of the request and processing of the response for advanced scenarios.
+        /// </description>
+        /// </item>
+        /// </list>
+        /// </summary>
+        /// <param name="context"> The request context, which can override default behaviors of the client pipeline on a per-call basis. </param>
+        /// <exception cref="RequestFailedException"> Service returned a non-success status code. </exception>
+        /// <returns> The <see cref="AsyncPageable{T}"/> from the service containing a list of <see cref="BinaryData"/> objects. Details of the body schema for each item in the collection are in the Remarks section below. </returns>
+        /// <include file="Docs/ConfidentialLedgerClient.xml" path="doc/members/member[@name='GetUsersAsync(RequestContext)']/*" />
+        public virtual AsyncPageable<BinaryData> GetUsersAsync(RequestContext context = null)
+        {
+            HttpMessage FirstPageRequest(int? pageSizeHint) => CreateGetUsersRequest(context);
+            HttpMessage NextPageRequest(int? pageSizeHint, string nextLink) => CreateGetUsersNextPageRequest(nextLink, context);
+            return GeneratorPageableHelpers.CreateAsyncPageable(FirstPageRequest, NextPageRequest, e => BinaryData.FromString(e.GetRawText()), ClientDiagnostics, _pipeline, "ConfidentialLedgerClient.GetUsers", "ledgerUsers", "nextLink", context);
+        }
+
+        /// <summary>
+        /// [Protocol Method] Gets details on a list of users.
+        /// <list type="bullet">
+        /// <item>
+        /// <description>
+        /// This <see href="https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/core/Azure.Core/samples/ProtocolMethods.md">protocol method</see> allows explicit creation of the request and processing of the response for advanced scenarios.
+        /// </description>
+        /// </item>
+        /// </list>
+        /// </summary>
+        /// <param name="context"> The request context, which can override default behaviors of the client pipeline on a per-call basis. </param>
+        /// <exception cref="RequestFailedException"> Service returned a non-success status code. </exception>
+        /// <returns> The <see cref="Pageable{T}"/> from the service containing a list of <see cref="BinaryData"/> objects. Details of the body schema for each item in the collection are in the Remarks section below. </returns>
+        /// <include file="Docs/ConfidentialLedgerClient.xml" path="doc/members/member[@name='GetUsers(RequestContext)']/*" />
+        public virtual Pageable<BinaryData> GetUsers(RequestContext context = null)
+        {
+            HttpMessage FirstPageRequest(int? pageSizeHint) => CreateGetUsersRequest(context);
+            HttpMessage NextPageRequest(int? pageSizeHint, string nextLink) => CreateGetUsersNextPageRequest(nextLink, context);
+            return GeneratorPageableHelpers.CreatePageable(FirstPageRequest, NextPageRequest, e => BinaryData.FromString(e.GetRawText()), ClientDiagnostics, _pipeline, "ConfidentialLedgerClient.GetUsers", "ledgerUsers", "nextLink", context);
+        }
+
         internal HttpMessage CreateGetConstitutionRequest(RequestContext context)
         {
             var message = _pipeline.CreateMessage(context, ResponseClassifier200);
             var request = message.Request;
             request.Method = RequestMethod.Get;
             var uri = new RawRequestUriBuilder();
-            uri.Reset(_ledgerEndpoint);
+            uri.Reset(_endpoint);
             uri.AppendPath("/app/governance/constitution", false);
             uri.AppendQuery("api-version", _apiVersion, true);
             request.Uri = uri;
@@ -858,7 +900,7 @@ internal HttpMessage CreateGetConsortiumMembersRequest(RequestContext context)
             var request = message.Request;
             request.Method = RequestMethod.Get;
             var uri = new RawRequestUriBuilder();
-            uri.Reset(_ledgerEndpoint);
+            uri.Reset(_endpoint);
             uri.AppendPath("/app/governance/members", false);
             uri.AppendQuery("api-version", _apiVersion, true);
             request.Uri = uri;
@@ -872,7 +914,7 @@ internal HttpMessage CreateGetEnclaveQuotesRequest(RequestContext context)
             var request = message.Request;
             request.Method = RequestMethod.Get;
             var uri = new RawRequestUriBuilder();
-            uri.Reset(_ledgerEndpoint);
+            uri.Reset(_endpoint);
             uri.AppendPath("/app/enclaveQuotes", false);
             uri.AppendQuery("api-version", _apiVersion, true);
             request.Uri = uri;
@@ -886,7 +928,7 @@ internal HttpMessage CreateGetCollectionsRequest(RequestContext context)
             var request = message.Request;
             request.Method = RequestMethod.Get;
             var uri = new RawRequestUriBuilder();
-            uri.Reset(_ledgerEndpoint);
+            uri.Reset(_endpoint);
             uri.AppendPath("/app/collections", false);
             uri.AppendQuery("api-version", _apiVersion, true);
             request.Uri = uri;
@@ -900,7 +942,7 @@ internal HttpMessage CreateGetLedgerEntriesRequest(string collectionId, string f
             var request = message.Request;
             request.Method = RequestMethod.Get;
             var uri = new RawRequestUriBuilder();
-            uri.Reset(_ledgerEndpoint);
+            uri.Reset(_endpoint);
             uri.AppendPath("/app/transactions", false);
             uri.AppendQuery("api-version", _apiVersion, true);
             if (collectionId != null)
@@ -926,7 +968,7 @@ internal HttpMessage CreateCreateLedgerEntryRequest(RequestContent content, stri
             var request = message.Request;
             request.Method = RequestMethod.Post;
             var uri = new RawRequestUriBuilder();
-            uri.Reset(_ledgerEndpoint);
+            uri.Reset(_endpoint);
             uri.AppendPath("/app/transactions", false);
             uri.AppendQuery("api-version", _apiVersion, true);
             if (collectionId != null)
@@ -946,7 +988,7 @@ internal HttpMessage CreateGetLedgerEntryRequest(string transactionId, string co
             var request = message.Request;
             request.Method = RequestMethod.Get;
             var uri = new RawRequestUriBuilder();
-            uri.Reset(_ledgerEndpoint);
+            uri.Reset(_endpoint);
             uri.AppendPath("/app/transactions/", false);
             uri.AppendPath(transactionId, true);
             uri.AppendQuery("api-version", _apiVersion, true);
@@ -965,7 +1007,7 @@ internal HttpMessage CreateGetReceiptRequest(string transactionId, RequestContex
             var request = message.Request;
             request.Method = RequestMethod.Get;
             var uri = new RawRequestUriBuilder();
-            uri.Reset(_ledgerEndpoint);
+            uri.Reset(_endpoint);
             uri.AppendPath("/app/transactions/", false);
             uri.AppendPath(transactionId, true);
             uri.AppendPath("/receipt", false);
@@ -981,7 +1023,7 @@ internal HttpMessage CreateGetTransactionStatusRequest(string transactionId, Req
             var request = message.Request;
             request.Method = RequestMethod.Get;
             var uri = new RawRequestUriBuilder();
-            uri.Reset(_ledgerEndpoint);
+            uri.Reset(_endpoint);
             uri.AppendPath("/app/transactions/", false);
             uri.AppendPath(transactionId, true);
             uri.AppendPath("/status", false);
@@ -997,7 +1039,7 @@ internal HttpMessage CreateGetCurrentLedgerEntryRequest(string collectionId, Req
             var request = message.Request;
             request.Method = RequestMethod.Get;
             var uri = new RawRequestUriBuilder();
-            uri.Reset(_ledgerEndpoint);
+            uri.Reset(_endpoint);
             uri.AppendPath("/app/transactions/current", false);
             uri.AppendQuery("api-version", _apiVersion, true);
             if (collectionId != null)
@@ -1009,13 +1051,27 @@ internal HttpMessage CreateGetCurrentLedgerEntryRequest(string collectionId, Req
             return message;
         }
 
+        internal HttpMessage CreateGetUsersRequest(RequestContext context)
+        {
+            var message = _pipeline.CreateMessage(context, ResponseClassifier200);
+            var request = message.Request;
+            request.Method = RequestMethod.Get;
+            var uri = new RawRequestUriBuilder();
+            uri.Reset(_endpoint);
+            uri.AppendPath("/app/users", false);
+            uri.AppendQuery("api-version", _apiVersion, true);
+            request.Uri = uri;
+            request.Headers.Add("Accept", "application/json");
+            return message;
+        }
+
         internal HttpMessage CreateDeleteUserRequest(string userId, RequestContext context)
         {
             var message = _pipeline.CreateMessage(context, ResponseClassifier204);
             var request = message.Request;
             request.Method = RequestMethod.Delete;
             var uri = new RawRequestUriBuilder();
-            uri.Reset(_ledgerEndpoint);
+            uri.Reset(_endpoint);
             uri.AppendPath("/app/users/", false);
             uri.AppendPath(userId, false);
             uri.AppendQuery("api-version", _apiVersion, true);
@@ -1030,7 +1086,7 @@ internal HttpMessage CreateGetUserRequest(string userId, RequestContext context)
             var request = message.Request;
             request.Method = RequestMethod.Get;
             var uri = new RawRequestUriBuilder();
-            uri.Reset(_ledgerEndpoint);
+            uri.Reset(_endpoint);
             uri.AppendPath("/app/users/", false);
             uri.AppendPath(userId, false);
             uri.AppendQuery("api-version", _apiVersion, true);
@@ -1045,7 +1101,7 @@ internal HttpMessage CreateCreateOrUpdateUserRequest(string userId, RequestConte
             var request = message.Request;
             request.Method = RequestMethod.Patch;
             var uri = new RawRequestUriBuilder();
-            uri.Reset(_ledgerEndpoint);
+            uri.Reset(_endpoint);
             uri.AppendPath("/app/users/", false);
             uri.AppendPath(userId, false);
             uri.AppendQuery("api-version", _apiVersion, true);
@@ -1062,7 +1118,7 @@ internal HttpMessage CreateGetConsortiumMembersNextPageRequest(string nextLink,
             var request = message.Request;
             request.Method = RequestMethod.Get;
             var uri = new RawRequestUriBuilder();
-            uri.Reset(_ledgerEndpoint);
+            uri.Reset(_endpoint);
             uri.AppendRawNextLink(nextLink, false);
             request.Uri = uri;
             request.Headers.Add("Accept", "application/json");
@@ -1075,7 +1131,7 @@ internal HttpMessage CreateGetCollectionsNextPageRequest(string nextLink, Reques
             var request = message.Request;
             request.Method = RequestMethod.Get;
             var uri = new RawRequestUriBuilder();
-            uri.Reset(_ledgerEndpoint);
+            uri.Reset(_endpoint);
             uri.AppendRawNextLink(nextLink, false);
             request.Uri = uri;
             request.Headers.Add("Accept", "application/json");
@@ -1088,7 +1144,20 @@ internal HttpMessage CreateGetLedgerEntriesNextPageRequest(string nextLink, stri
             var request = message.Request;
             request.Method = RequestMethod.Get;
             var uri = new RawRequestUriBuilder();
-            uri.Reset(_ledgerEndpoint);
+            uri.Reset(_endpoint);
+            uri.AppendRawNextLink(nextLink, false);
+            request.Uri = uri;
+            request.Headers.Add("Accept", "application/json");
+            return message;
+        }
+
+        internal HttpMessage CreateGetUsersNextPageRequest(string nextLink, RequestContext context)
+        {
+            var message = _pipeline.CreateMessage(context, ResponseClassifier200);
+            var request = message.Request;
+            request.Method = RequestMethod.Get;
+            var uri = new RawRequestUriBuilder();
+            uri.Reset(_endpoint);
             uri.AppendRawNextLink(nextLink, false);
             request.Uri = uri;
             request.Headers.Add("Accept", "application/json");
diff --git a/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/Generated/ConfidentialLedgerClientOptions.cs b/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/Generated/ConfidentialLedgerClientOptions.cs
deleted file mode 100644
index f4eacc8e7344..000000000000
--- a/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/Generated/ConfidentialLedgerClientOptions.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-// <auto-generated/>
-
-#nullable disable
-
-using System;
-using Azure.Core;
-
-namespace Azure.Security.ConfidentialLedger
-{
-    /// <summary> Client options for ConfidentialLedger library clients. </summary>
-    public partial class ConfidentialLedgerClientOptions : ClientOptions
-    {
-        private const ServiceVersion LatestVersion = ServiceVersion.V2022_05_13;
-
-        /// <summary> The version of the service to use. </summary>
-        public enum ServiceVersion
-        {
-            /// <summary> Service version "2022-05-13". </summary>
-            V2022_05_13 = 1,
-        }
-
-        internal string Version { get; }
-
-        /// <summary> Initializes new instance of ConfidentialLedgerClientOptions. </summary>
-        public ConfidentialLedgerClientOptions(ServiceVersion version = LatestVersion)
-        {
-            Version = version switch
-            {
-                ServiceVersion.V2022_05_13 => "2022-05-13",
-                _ => throw new NotSupportedException()
-            };
-        }
-    }
-}
diff --git a/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/Generated/Docs/ConfidentialLedgerCertificateClient.xml b/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/Generated/Docs/ConfidentialLedgerCertificateClient.xml
index e9aadce888c0..281eeb34c7ef 100644
--- a/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/Generated/Docs/ConfidentialLedgerCertificateClient.xml
+++ b/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/Generated/Docs/ConfidentialLedgerCertificateClient.xml
@@ -5,7 +5,7 @@
       <example>
 This sample shows how to call GetLedgerIdentityAsync and parse the result.
 <code><![CDATA[
-ConfidentialLedgerCertificateClient client = new ConfidentialLedgerCertificateClient(new Uri("http://localhost:3000"));
+ConfidentialLedgerCertificateClient client = new ConfidentialLedgerCertificateClient(null);
 
 Response response = await client.GetLedgerIdentityAsync("<ledgerId>");
 
@@ -14,7 +14,7 @@ Console.WriteLine(result.GetProperty("ledgerTlsCertificate").ToString());
 ]]></code>
 This sample shows how to call GetLedgerIdentityAsync with all parameters and parse the result.
 <code><![CDATA[
-ConfidentialLedgerCertificateClient client = new ConfidentialLedgerCertificateClient(new Uri("http://localhost:3000"));
+ConfidentialLedgerCertificateClient client = new ConfidentialLedgerCertificateClient(null);
 
 Response response = await client.GetLedgerIdentityAsync("<ledgerId>");
 
@@ -27,7 +27,7 @@ Console.WriteLine(result.GetProperty("ledgerTlsCertificate").ToString());
       <example>
 This sample shows how to call GetLedgerIdentity and parse the result.
 <code><![CDATA[
-ConfidentialLedgerCertificateClient client = new ConfidentialLedgerCertificateClient(new Uri("http://localhost:3000"));
+ConfidentialLedgerCertificateClient client = new ConfidentialLedgerCertificateClient(null);
 
 Response response = client.GetLedgerIdentity("<ledgerId>");
 
@@ -36,7 +36,7 @@ Console.WriteLine(result.GetProperty("ledgerTlsCertificate").ToString());
 ]]></code>
 This sample shows how to call GetLedgerIdentity with all parameters and parse the result.
 <code><![CDATA[
-ConfidentialLedgerCertificateClient client = new ConfidentialLedgerCertificateClient(new Uri("http://localhost:3000"));
+ConfidentialLedgerCertificateClient client = new ConfidentialLedgerCertificateClient(null);
 
 Response response = client.GetLedgerIdentity("<ledgerId>");
 
diff --git a/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/Generated/Docs/ConfidentialLedgerClient.xml b/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/Generated/Docs/ConfidentialLedgerClient.xml
index 13faef37fefe..07f5a604ee69 100644
--- a/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/Generated/Docs/ConfidentialLedgerClient.xml
+++ b/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/Generated/Docs/ConfidentialLedgerClient.xml
@@ -5,8 +5,9 @@
       <example>
 This sample shows how to call GetConstitutionAsync and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 Response response = await client.GetConstitutionAsync();
 
@@ -16,8 +17,9 @@ Console.WriteLine(result.GetProperty("script").ToString());
 ]]></code>
 This sample shows how to call GetConstitutionAsync with all request content and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 Response response = await client.GetConstitutionAsync();
 
@@ -30,8 +32,9 @@ Console.WriteLine(result.GetProperty("script").ToString());
       <example>
 This sample shows how to call GetConstitution and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 Response response = client.GetConstitution();
 
@@ -41,8 +44,9 @@ Console.WriteLine(result.GetProperty("script").ToString());
 ]]></code>
 This sample shows how to call GetConstitution with all request content and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 Response response = client.GetConstitution();
 
@@ -55,8 +59,9 @@ Console.WriteLine(result.GetProperty("script").ToString());
       <example>
 This sample shows how to call GetEnclaveQuotesAsync and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 Response response = await client.GetEnclaveQuotesAsync();
 
@@ -68,8 +73,9 @@ Console.WriteLine(result.GetProperty("enclaveQuotes").GetProperty("<key>").GetPr
 ]]></code>
 This sample shows how to call GetEnclaveQuotesAsync with all request content and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 Response response = await client.GetEnclaveQuotesAsync();
 
@@ -85,8 +91,9 @@ Console.WriteLine(result.GetProperty("enclaveQuotes").GetProperty("<key>").GetPr
       <example>
 This sample shows how to call GetEnclaveQuotes and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 Response response = client.GetEnclaveQuotes();
 
@@ -98,8 +105,9 @@ Console.WriteLine(result.GetProperty("enclaveQuotes").GetProperty("<key>").GetPr
 ]]></code>
 This sample shows how to call GetEnclaveQuotes with all request content and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 Response response = client.GetEnclaveQuotes();
 
@@ -115,8 +123,9 @@ Console.WriteLine(result.GetProperty("enclaveQuotes").GetProperty("<key>").GetPr
       <example>
 This sample shows how to call CreateLedgerEntryAsync and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 using RequestContent content = RequestContent.Create(new
 {
@@ -129,8 +138,9 @@ Console.WriteLine(result.GetProperty("collectionId").ToString());
 ]]></code>
 This sample shows how to call CreateLedgerEntryAsync with all parameters and request content and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 using RequestContent content = RequestContent.Create(new
 {
@@ -146,8 +156,9 @@ Console.WriteLine(result.GetProperty("collectionId").ToString());
       <example>
 This sample shows how to call CreateLedgerEntry and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 using RequestContent content = RequestContent.Create(new
 {
@@ -160,8 +171,9 @@ Console.WriteLine(result.GetProperty("collectionId").ToString());
 ]]></code>
 This sample shows how to call CreateLedgerEntry with all parameters and request content and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 using RequestContent content = RequestContent.Create(new
 {
@@ -177,8 +189,9 @@ Console.WriteLine(result.GetProperty("collectionId").ToString());
       <example>
 This sample shows how to call GetLedgerEntryAsync and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 Response response = await client.GetLedgerEntryAsync("<transactionId>");
 
@@ -187,8 +200,9 @@ Console.WriteLine(result.GetProperty("state").ToString());
 ]]></code>
 This sample shows how to call GetLedgerEntryAsync with all parameters and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 Response response = await client.GetLedgerEntryAsync("<transactionId>", collectionId: "<collectionId>");
 
@@ -203,8 +217,9 @@ Console.WriteLine(result.GetProperty("entry").GetProperty("transactionId").ToStr
       <example>
 This sample shows how to call GetLedgerEntry and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 Response response = client.GetLedgerEntry("<transactionId>");
 
@@ -213,8 +228,9 @@ Console.WriteLine(result.GetProperty("state").ToString());
 ]]></code>
 This sample shows how to call GetLedgerEntry with all parameters and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 Response response = client.GetLedgerEntry("<transactionId>", collectionId: "<collectionId>");
 
@@ -229,8 +245,9 @@ Console.WriteLine(result.GetProperty("entry").GetProperty("transactionId").ToStr
       <example>
 This sample shows how to call GetReceiptAsync and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 Response response = await client.GetReceiptAsync("<transactionId>");
 
@@ -240,12 +257,20 @@ Console.WriteLine(result.GetProperty("transactionId").ToString());
 ]]></code>
 This sample shows how to call GetReceiptAsync with all parameters and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 Response response = await client.GetReceiptAsync("<transactionId>");
 
 JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("applicationClaims")[0].GetProperty("digest").GetProperty("value").ToString());
+Console.WriteLine(result.GetProperty("applicationClaims")[0].GetProperty("digest").GetProperty("protocol").ToString());
+Console.WriteLine(result.GetProperty("applicationClaims")[0].GetProperty("kind").ToString());
+Console.WriteLine(result.GetProperty("applicationClaims")[0].GetProperty("ledgerEntry").GetProperty("collectionId").ToString());
+Console.WriteLine(result.GetProperty("applicationClaims")[0].GetProperty("ledgerEntry").GetProperty("contents").ToString());
+Console.WriteLine(result.GetProperty("applicationClaims")[0].GetProperty("ledgerEntry").GetProperty("secretKey").ToString());
+Console.WriteLine(result.GetProperty("applicationClaims")[0].GetProperty("ledgerEntry").GetProperty("protocol").ToString());
 Console.WriteLine(result.GetProperty("receipt").GetProperty("cert").ToString());
 Console.WriteLine(result.GetProperty("receipt").GetProperty("leaf").ToString());
 Console.WriteLine(result.GetProperty("receipt").GetProperty("leafComponents").GetProperty("claimsDigest").ToString());
@@ -265,8 +290,9 @@ Console.WriteLine(result.GetProperty("transactionId").ToString());
       <example>
 This sample shows how to call GetReceipt and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 Response response = client.GetReceipt("<transactionId>");
 
@@ -276,12 +302,20 @@ Console.WriteLine(result.GetProperty("transactionId").ToString());
 ]]></code>
 This sample shows how to call GetReceipt with all parameters and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 Response response = client.GetReceipt("<transactionId>");
 
 JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("applicationClaims")[0].GetProperty("digest").GetProperty("value").ToString());
+Console.WriteLine(result.GetProperty("applicationClaims")[0].GetProperty("digest").GetProperty("protocol").ToString());
+Console.WriteLine(result.GetProperty("applicationClaims")[0].GetProperty("kind").ToString());
+Console.WriteLine(result.GetProperty("applicationClaims")[0].GetProperty("ledgerEntry").GetProperty("collectionId").ToString());
+Console.WriteLine(result.GetProperty("applicationClaims")[0].GetProperty("ledgerEntry").GetProperty("contents").ToString());
+Console.WriteLine(result.GetProperty("applicationClaims")[0].GetProperty("ledgerEntry").GetProperty("secretKey").ToString());
+Console.WriteLine(result.GetProperty("applicationClaims")[0].GetProperty("ledgerEntry").GetProperty("protocol").ToString());
 Console.WriteLine(result.GetProperty("receipt").GetProperty("cert").ToString());
 Console.WriteLine(result.GetProperty("receipt").GetProperty("leaf").ToString());
 Console.WriteLine(result.GetProperty("receipt").GetProperty("leafComponents").GetProperty("claimsDigest").ToString());
@@ -301,8 +335,9 @@ Console.WriteLine(result.GetProperty("transactionId").ToString());
       <example>
 This sample shows how to call GetTransactionStatusAsync and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 Response response = await client.GetTransactionStatusAsync("<transactionId>");
 
@@ -312,8 +347,9 @@ Console.WriteLine(result.GetProperty("transactionId").ToString());
 ]]></code>
 This sample shows how to call GetTransactionStatusAsync with all parameters and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 Response response = await client.GetTransactionStatusAsync("<transactionId>");
 
@@ -326,8 +362,9 @@ Console.WriteLine(result.GetProperty("transactionId").ToString());
       <example>
 This sample shows how to call GetTransactionStatus and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 Response response = client.GetTransactionStatus("<transactionId>");
 
@@ -337,8 +374,9 @@ Console.WriteLine(result.GetProperty("transactionId").ToString());
 ]]></code>
 This sample shows how to call GetTransactionStatus with all parameters and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 Response response = client.GetTransactionStatus("<transactionId>");
 
@@ -351,8 +389,9 @@ Console.WriteLine(result.GetProperty("transactionId").ToString());
       <example>
 This sample shows how to call GetCurrentLedgerEntryAsync and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 Response response = await client.GetCurrentLedgerEntryAsync();
 
@@ -361,8 +400,9 @@ Console.WriteLine(result.GetProperty("contents").ToString());
 ]]></code>
 This sample shows how to call GetCurrentLedgerEntryAsync with all parameters and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 Response response = await client.GetCurrentLedgerEntryAsync(collectionId: "<collectionId>");
 
@@ -376,8 +416,9 @@ Console.WriteLine(result.GetProperty("transactionId").ToString());
       <example>
 This sample shows how to call GetCurrentLedgerEntry and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 Response response = client.GetCurrentLedgerEntry();
 
@@ -386,8 +427,9 @@ Console.WriteLine(result.GetProperty("contents").ToString());
 ]]></code>
 This sample shows how to call GetCurrentLedgerEntry with all parameters and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 Response response = client.GetCurrentLedgerEntry(collectionId: "<collectionId>");
 
@@ -401,8 +443,9 @@ Console.WriteLine(result.GetProperty("transactionId").ToString());
       <example>
 This sample shows how to call DeleteUserAsync.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 Response response = await client.DeleteUserAsync("<userId>");
 
@@ -410,8 +453,9 @@ Console.WriteLine(response.Status);
 ]]></code>
 This sample shows how to call DeleteUserAsync with all parameters.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 Response response = await client.DeleteUserAsync("<userId>");
 
@@ -422,8 +466,9 @@ Console.WriteLine(response.Status);
       <example>
 This sample shows how to call DeleteUser.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 Response response = client.DeleteUser("<userId>");
 
@@ -431,8 +476,9 @@ Console.WriteLine(response.Status);
 ]]></code>
 This sample shows how to call DeleteUser with all parameters.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 Response response = client.DeleteUser("<userId>");
 
@@ -443,8 +489,9 @@ Console.WriteLine(response.Status);
       <example>
 This sample shows how to call GetUserAsync and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 Response response = await client.GetUserAsync("<userId>");
 
@@ -453,8 +500,9 @@ Console.WriteLine(result.GetProperty("assignedRole").ToString());
 ]]></code>
 This sample shows how to call GetUserAsync with all parameters and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 Response response = await client.GetUserAsync("<userId>");
 
@@ -467,8 +515,9 @@ Console.WriteLine(result.GetProperty("userId").ToString());
       <example>
 This sample shows how to call GetUser and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 Response response = client.GetUser("<userId>");
 
@@ -477,8 +526,9 @@ Console.WriteLine(result.GetProperty("assignedRole").ToString());
 ]]></code>
 This sample shows how to call GetUser with all parameters and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 Response response = client.GetUser("<userId>");
 
@@ -491,8 +541,9 @@ Console.WriteLine(result.GetProperty("userId").ToString());
       <example>
 This sample shows how to call CreateOrUpdateUserAsync and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 using RequestContent content = RequestContent.Create(new
 {
@@ -505,8 +556,9 @@ Console.WriteLine(result.GetProperty("assignedRole").ToString());
 ]]></code>
 This sample shows how to call CreateOrUpdateUserAsync with all parameters and request content and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 using RequestContent content = RequestContent.Create(new
 {
@@ -523,8 +575,9 @@ Console.WriteLine(result.GetProperty("userId").ToString());
       <example>
 This sample shows how to call CreateOrUpdateUser and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 using RequestContent content = RequestContent.Create(new
 {
@@ -537,8 +590,9 @@ Console.WriteLine(result.GetProperty("assignedRole").ToString());
 ]]></code>
 This sample shows how to call CreateOrUpdateUser with all parameters and request content and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 using RequestContent content = RequestContent.Create(new
 {
@@ -555,8 +609,9 @@ Console.WriteLine(result.GetProperty("userId").ToString());
       <example>
 This sample shows how to call GetConsortiumMembersAsync and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 await foreach (BinaryData item in client.GetConsortiumMembersAsync())
 {
@@ -567,8 +622,9 @@ await foreach (BinaryData item in client.GetConsortiumMembersAsync())
 ]]></code>
 This sample shows how to call GetConsortiumMembersAsync with all request content and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 await foreach (BinaryData item in client.GetConsortiumMembersAsync())
 {
@@ -582,8 +638,9 @@ await foreach (BinaryData item in client.GetConsortiumMembersAsync())
       <example>
 This sample shows how to call GetConsortiumMembers and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 foreach (BinaryData item in client.GetConsortiumMembers())
 {
@@ -594,8 +651,9 @@ foreach (BinaryData item in client.GetConsortiumMembers())
 ]]></code>
 This sample shows how to call GetConsortiumMembers with all request content and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 foreach (BinaryData item in client.GetConsortiumMembers())
 {
@@ -609,8 +667,9 @@ foreach (BinaryData item in client.GetConsortiumMembers())
       <example>
 This sample shows how to call GetCollectionsAsync and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 await foreach (BinaryData item in client.GetCollectionsAsync())
 {
@@ -620,8 +679,9 @@ await foreach (BinaryData item in client.GetCollectionsAsync())
 ]]></code>
 This sample shows how to call GetCollectionsAsync with all request content and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 await foreach (BinaryData item in client.GetCollectionsAsync())
 {
@@ -634,8 +694,9 @@ await foreach (BinaryData item in client.GetCollectionsAsync())
       <example>
 This sample shows how to call GetCollections and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 foreach (BinaryData item in client.GetCollections())
 {
@@ -645,8 +706,9 @@ foreach (BinaryData item in client.GetCollections())
 ]]></code>
 This sample shows how to call GetCollections with all request content and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 foreach (BinaryData item in client.GetCollections())
 {
@@ -659,8 +721,9 @@ foreach (BinaryData item in client.GetCollections())
       <example>
 This sample shows how to call GetLedgerEntriesAsync and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 await foreach (BinaryData item in client.GetLedgerEntriesAsync())
 {
@@ -670,8 +733,9 @@ await foreach (BinaryData item in client.GetLedgerEntriesAsync())
 ]]></code>
 This sample shows how to call GetLedgerEntriesAsync with all parameters and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 await foreach (BinaryData item in client.GetLedgerEntriesAsync(collectionId: "<collectionId>", fromTransactionId: "<fromTransactionId>", toTransactionId: "<toTransactionId>"))
 {
@@ -686,8 +750,9 @@ await foreach (BinaryData item in client.GetLedgerEntriesAsync(collectionId: "<c
       <example>
 This sample shows how to call GetLedgerEntries and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 foreach (BinaryData item in client.GetLedgerEntries())
 {
@@ -697,8 +762,9 @@ foreach (BinaryData item in client.GetLedgerEntries())
 ]]></code>
 This sample shows how to call GetLedgerEntries with all parameters and parse the result.
 <code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
 TokenCredential credential = new DefaultAzureCredential();
-ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
 foreach (BinaryData item in client.GetLedgerEntries(collectionId: "<collectionId>", fromTransactionId: "<fromTransactionId>", toTransactionId: "<toTransactionId>"))
 {
@@ -707,6 +773,62 @@ foreach (BinaryData item in client.GetLedgerEntries(collectionId: "<collectionId
     Console.WriteLine(result.GetProperty("collectionId").ToString());
     Console.WriteLine(result.GetProperty("transactionId").ToString());
 }
+]]></code></example>
+    </member>
+    <member name="GetUsersAsync(RequestContext)">
+      <example>
+This sample shows how to call GetUsersAsync and parse the result.
+<code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
+TokenCredential credential = new DefaultAzureCredential();
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
+
+await foreach (BinaryData item in client.GetUsersAsync())
+{
+    JsonElement result = JsonDocument.Parse(item.ToStream()).RootElement;
+    Console.WriteLine(result.GetProperty("assignedRole").ToString());
+}
+]]></code>
+This sample shows how to call GetUsersAsync with all request content and parse the result.
+<code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
+TokenCredential credential = new DefaultAzureCredential();
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
+
+await foreach (BinaryData item in client.GetUsersAsync())
+{
+    JsonElement result = JsonDocument.Parse(item.ToStream()).RootElement;
+    Console.WriteLine(result.GetProperty("assignedRole").ToString());
+    Console.WriteLine(result.GetProperty("userId").ToString());
+}
+]]></code></example>
+    </member>
+    <member name="GetUsers(RequestContext)">
+      <example>
+This sample shows how to call GetUsers and parse the result.
+<code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
+TokenCredential credential = new DefaultAzureCredential();
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
+
+foreach (BinaryData item in client.GetUsers())
+{
+    JsonElement result = JsonDocument.Parse(item.ToStream()).RootElement;
+    Console.WriteLine(result.GetProperty("assignedRole").ToString());
+}
+]]></code>
+This sample shows how to call GetUsers with all request content and parse the result.
+<code><![CDATA[
+Uri endpoint = new Uri("<endpoint>");
+TokenCredential credential = new DefaultAzureCredential();
+ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
+
+foreach (BinaryData item in client.GetUsers())
+{
+    JsonElement result = JsonDocument.Parse(item.ToStream()).RootElement;
+    Console.WriteLine(result.GetProperty("assignedRole").ToString());
+    Console.WriteLine(result.GetProperty("userId").ToString());
+}
 ]]></code></example>
     </member>
   </members>
diff --git a/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/autorest.md b/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/autorest.md
index 6610c3ffcb7e..b3199185f519 100644
--- a/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/autorest.md
+++ b/sdk/confidentialledger/Azure.Security.ConfidentialLedger/src/autorest.md
@@ -10,17 +10,36 @@ security: AADToken
 security-scopes: "https://confidential-ledger.azure.com/.default"
 keep-non-overloadable-protocol-signature: true
 input-file:
-    -  https://github.com/Azure/azure-rest-api-specs/blob/a9e895ccfe29d0646795f7ff1cb78e185bd09529/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/stable/2022-05-13/common.json
-    -  https://github.com/Azure/azure-rest-api-specs/blob/a9e895ccfe29d0646795f7ff1cb78e185bd09529/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/stable/2022-05-13/confidentialledger.json
-    -  https://github.com/Azure/azure-rest-api-specs/blob/a9e895ccfe29d0646795f7ff1cb78e185bd09529/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/stable/2022-05-13/identityservice.json
+- https://github.com/Azure/azure-rest-api-specs/blob/adb20036091c8d853084e62f89e1aecb866254d2/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/2024-01-26-preview/common.json
+- https://github.com/Azure/azure-rest-api-specs/blob/adb20036091c8d853084e62f89e1aecb866254d2/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/2024-01-26-preview/confidentialledger.json
+- https://github.com/Azure/azure-rest-api-specs/blob/adb20036091c8d853084e62f89e1aecb866254d2/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/2024-01-26-preview/identityservice.json
 ```
 
 ``` yaml
 directive:
-  - from: https://github.com/Azure/azure-rest-api-specs/blob/a9e895ccfe29d0646795f7ff1cb78e185bd09529/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/stable/2022-05-13/confidentialledger.json
+  - from: https://github.com/Azure/azure-rest-api-specs/blob/adb20036091c8d853084e62f89e1aecb866254d2/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/2024-01-26-preview/confidentialledger.json
     where: '$..paths.*.*'
     transform: '$.operationId = "ConfidentialLedger_"+$.operationId'
-  - from: https://github.com/Azure/azure-rest-api-specs/blob/a9e895ccfe29d0646795f7ff1cb78e185bd09529/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/stable/2022-05-13/identityservice.json
+  - from: https://github.com/Azure/azure-rest-api-specs/blob/adb20036091c8d853084e62f89e1aecb866254d2/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/2024-01-26-preview/identityservice.json
     where: '$..paths.*.*'
     transform: '$.operationId = "ConfidentialLedgerCertificate_"+$.operationId'
 ```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sdk/confidentialledger/Azure.Security.ConfidentialLedger/tests/ConfidentialLedgerClientLiveTests.cs b/sdk/confidentialledger/Azure.Security.ConfidentialLedger/tests/ConfidentialLedgerClientLiveTests.cs
index ad93aefd384e..3a242790e613 100644
--- a/sdk/confidentialledger/Azure.Security.ConfidentialLedger/tests/ConfidentialLedgerClientLiveTests.cs
+++ b/sdk/confidentialledger/Azure.Security.ConfidentialLedger/tests/ConfidentialLedgerClientLiveTests.cs
@@ -5,6 +5,7 @@
 using System.Collections.Generic;
 using System.IO;
 using System.Net;
+using System.Security.Cryptography;
 using System.Security.Cryptography.X509Certificates;
 using System.Text.Json;
 using System.Threading.Tasks;
@@ -213,6 +214,33 @@ public async Task CreateAndGetAndDeleteUser()
             Assert.AreEqual((int)HttpStatusCode.OK, result.Status);
         }
 
+        [RecordedTest]
+        public async Task GetUsers()
+        {
+            // Create a user, test that it shows up in the users list
+            var userId = Recording.Random.NewGuid().ToString();
+            var result = await Client.CreateOrUpdateUserAsync(
+                userId,
+                RequestContent.Create(new { assignedRole = "Reader" }));
+            var stringResult = new StreamReader(result.ContentStream).ReadToEnd();
+
+            Assert.AreEqual((int)HttpStatusCode.OK, result.Status);
+            Assert.That(stringResult, Does.Contain(userId));
+
+            HashSet<string> users = [];
+            await foreach (BinaryData page in Client.GetUsersAsync())
+            {
+                JsonElement pageResult = JsonDocument.Parse(page.ToStream()).RootElement;
+                if (pageResult.GetProperty("assignedRole").GetString() == "Reader")
+                {
+                    users.Add(pageResult.GetProperty("userId").GetString());
+                }
+            }
+
+            Assert.IsTrue(users.Contains(userId), "GetUsers endpoint does not contain expected reader");
+            await Client.DeleteUserAsync(userId);
+        }
+
         [RecordedTest]
         [LiveOnly]
         public async Task GetLedgerIdentity()
diff --git a/sdk/confidentialledger/Azure.Security.ConfidentialLedger/tests/Generated/Samples/Samples_ConfidentialLedgerCertificateClient.cs b/sdk/confidentialledger/Azure.Security.ConfidentialLedger/tests/Generated/Samples/Samples_ConfidentialLedgerCertificateClient.cs
index 4ab60c0e55a3..488e02566f27 100644
--- a/sdk/confidentialledger/Azure.Security.ConfidentialLedger/tests/Generated/Samples/Samples_ConfidentialLedgerCertificateClient.cs
+++ b/sdk/confidentialledger/Azure.Security.ConfidentialLedger/tests/Generated/Samples/Samples_ConfidentialLedgerCertificateClient.cs
@@ -20,7 +20,7 @@ public partial class Samples_ConfidentialLedgerCertificateClient
         [Ignore("Only validating compilation of examples")]
         public void Example_GetLedgerIdentity_ShortVersion()
         {
-            ConfidentialLedgerCertificateClient client = new ConfidentialLedgerCertificateClient(new Uri("http://localhost:3000"));
+            ConfidentialLedgerCertificateClient client = new ConfidentialLedgerCertificateClient(null);
 
             Response response = client.GetLedgerIdentity("<ledgerId>");
 
@@ -32,7 +32,7 @@ public void Example_GetLedgerIdentity_ShortVersion()
         [Ignore("Only validating compilation of examples")]
         public async Task Example_GetLedgerIdentity_ShortVersion_Async()
         {
-            ConfidentialLedgerCertificateClient client = new ConfidentialLedgerCertificateClient(new Uri("http://localhost:3000"));
+            ConfidentialLedgerCertificateClient client = new ConfidentialLedgerCertificateClient(null);
 
             Response response = await client.GetLedgerIdentityAsync("<ledgerId>");
 
@@ -44,7 +44,7 @@ public async Task Example_GetLedgerIdentity_ShortVersion_Async()
         [Ignore("Only validating compilation of examples")]
         public void Example_GetLedgerIdentity_AllParameters()
         {
-            ConfidentialLedgerCertificateClient client = new ConfidentialLedgerCertificateClient(new Uri("http://localhost:3000"));
+            ConfidentialLedgerCertificateClient client = new ConfidentialLedgerCertificateClient(null);
 
             Response response = client.GetLedgerIdentity("<ledgerId>");
 
@@ -57,7 +57,7 @@ public void Example_GetLedgerIdentity_AllParameters()
         [Ignore("Only validating compilation of examples")]
         public async Task Example_GetLedgerIdentity_AllParameters_Async()
         {
-            ConfidentialLedgerCertificateClient client = new ConfidentialLedgerCertificateClient(new Uri("http://localhost:3000"));
+            ConfidentialLedgerCertificateClient client = new ConfidentialLedgerCertificateClient(null);
 
             Response response = await client.GetLedgerIdentityAsync("<ledgerId>");
 
diff --git a/sdk/confidentialledger/Azure.Security.ConfidentialLedger/tests/Generated/Samples/Samples_ConfidentialLedgerClient.cs b/sdk/confidentialledger/Azure.Security.ConfidentialLedger/tests/Generated/Samples/Samples_ConfidentialLedgerClient.cs
index f3beae3095b6..c7370424c140 100644
--- a/sdk/confidentialledger/Azure.Security.ConfidentialLedger/tests/Generated/Samples/Samples_ConfidentialLedgerClient.cs
+++ b/sdk/confidentialledger/Azure.Security.ConfidentialLedger/tests/Generated/Samples/Samples_ConfidentialLedgerClient.cs
@@ -20,8 +20,9 @@ public partial class Samples_ConfidentialLedgerClient
         [Ignore("Only validating compilation of examples")]
         public void Example_GetConstitution_ShortVersion()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             Response response = client.GetConstitution();
 
@@ -34,8 +35,9 @@ public void Example_GetConstitution_ShortVersion()
         [Ignore("Only validating compilation of examples")]
         public async Task Example_GetConstitution_ShortVersion_Async()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             Response response = await client.GetConstitutionAsync();
 
@@ -48,8 +50,9 @@ public async Task Example_GetConstitution_ShortVersion_Async()
         [Ignore("Only validating compilation of examples")]
         public void Example_GetConstitution_AllParameters()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             Response response = client.GetConstitution();
 
@@ -62,8 +65,9 @@ public void Example_GetConstitution_AllParameters()
         [Ignore("Only validating compilation of examples")]
         public async Task Example_GetConstitution_AllParameters_Async()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             Response response = await client.GetConstitutionAsync();
 
@@ -76,8 +80,9 @@ public async Task Example_GetConstitution_AllParameters_Async()
         [Ignore("Only validating compilation of examples")]
         public void Example_GetEnclaveQuotes_ShortVersion()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             Response response = client.GetEnclaveQuotes();
 
@@ -92,8 +97,9 @@ public void Example_GetEnclaveQuotes_ShortVersion()
         [Ignore("Only validating compilation of examples")]
         public async Task Example_GetEnclaveQuotes_ShortVersion_Async()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             Response response = await client.GetEnclaveQuotesAsync();
 
@@ -108,8 +114,9 @@ public async Task Example_GetEnclaveQuotes_ShortVersion_Async()
         [Ignore("Only validating compilation of examples")]
         public void Example_GetEnclaveQuotes_AllParameters()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             Response response = client.GetEnclaveQuotes();
 
@@ -125,8 +132,9 @@ public void Example_GetEnclaveQuotes_AllParameters()
         [Ignore("Only validating compilation of examples")]
         public async Task Example_GetEnclaveQuotes_AllParameters_Async()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             Response response = await client.GetEnclaveQuotesAsync();
 
@@ -142,8 +150,9 @@ public async Task Example_GetEnclaveQuotes_AllParameters_Async()
         [Ignore("Only validating compilation of examples")]
         public void Example_CreateLedgerEntry_ShortVersion()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             using RequestContent content = RequestContent.Create(new
             {
@@ -159,8 +168,9 @@ public void Example_CreateLedgerEntry_ShortVersion()
         [Ignore("Only validating compilation of examples")]
         public async Task Example_CreateLedgerEntry_ShortVersion_Async()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             using RequestContent content = RequestContent.Create(new
             {
@@ -176,8 +186,9 @@ public async Task Example_CreateLedgerEntry_ShortVersion_Async()
         [Ignore("Only validating compilation of examples")]
         public void Example_CreateLedgerEntry_AllParameters()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             using RequestContent content = RequestContent.Create(new
             {
@@ -193,8 +204,9 @@ public void Example_CreateLedgerEntry_AllParameters()
         [Ignore("Only validating compilation of examples")]
         public async Task Example_CreateLedgerEntry_AllParameters_Async()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             using RequestContent content = RequestContent.Create(new
             {
@@ -210,8 +222,9 @@ public async Task Example_CreateLedgerEntry_AllParameters_Async()
         [Ignore("Only validating compilation of examples")]
         public void Example_GetLedgerEntry_ShortVersion()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             Response response = client.GetLedgerEntry("<transactionId>");
 
@@ -223,8 +236,9 @@ public void Example_GetLedgerEntry_ShortVersion()
         [Ignore("Only validating compilation of examples")]
         public async Task Example_GetLedgerEntry_ShortVersion_Async()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             Response response = await client.GetLedgerEntryAsync("<transactionId>");
 
@@ -236,8 +250,9 @@ public async Task Example_GetLedgerEntry_ShortVersion_Async()
         [Ignore("Only validating compilation of examples")]
         public void Example_GetLedgerEntry_AllParameters()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             Response response = client.GetLedgerEntry("<transactionId>", collectionId: "<collectionId>");
 
@@ -252,8 +267,9 @@ public void Example_GetLedgerEntry_AllParameters()
         [Ignore("Only validating compilation of examples")]
         public async Task Example_GetLedgerEntry_AllParameters_Async()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             Response response = await client.GetLedgerEntryAsync("<transactionId>", collectionId: "<collectionId>");
 
@@ -268,8 +284,9 @@ public async Task Example_GetLedgerEntry_AllParameters_Async()
         [Ignore("Only validating compilation of examples")]
         public void Example_GetReceipt_ShortVersion()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             Response response = client.GetReceipt("<transactionId>");
 
@@ -282,8 +299,9 @@ public void Example_GetReceipt_ShortVersion()
         [Ignore("Only validating compilation of examples")]
         public async Task Example_GetReceipt_ShortVersion_Async()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             Response response = await client.GetReceiptAsync("<transactionId>");
 
@@ -296,12 +314,20 @@ public async Task Example_GetReceipt_ShortVersion_Async()
         [Ignore("Only validating compilation of examples")]
         public void Example_GetReceipt_AllParameters()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             Response response = client.GetReceipt("<transactionId>");
 
             JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+            Console.WriteLine(result.GetProperty("applicationClaims")[0].GetProperty("digest").GetProperty("value").ToString());
+            Console.WriteLine(result.GetProperty("applicationClaims")[0].GetProperty("digest").GetProperty("protocol").ToString());
+            Console.WriteLine(result.GetProperty("applicationClaims")[0].GetProperty("kind").ToString());
+            Console.WriteLine(result.GetProperty("applicationClaims")[0].GetProperty("ledgerEntry").GetProperty("collectionId").ToString());
+            Console.WriteLine(result.GetProperty("applicationClaims")[0].GetProperty("ledgerEntry").GetProperty("contents").ToString());
+            Console.WriteLine(result.GetProperty("applicationClaims")[0].GetProperty("ledgerEntry").GetProperty("secretKey").ToString());
+            Console.WriteLine(result.GetProperty("applicationClaims")[0].GetProperty("ledgerEntry").GetProperty("protocol").ToString());
             Console.WriteLine(result.GetProperty("receipt").GetProperty("cert").ToString());
             Console.WriteLine(result.GetProperty("receipt").GetProperty("leaf").ToString());
             Console.WriteLine(result.GetProperty("receipt").GetProperty("leafComponents").GetProperty("claimsDigest").ToString());
@@ -321,12 +347,20 @@ public void Example_GetReceipt_AllParameters()
         [Ignore("Only validating compilation of examples")]
         public async Task Example_GetReceipt_AllParameters_Async()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             Response response = await client.GetReceiptAsync("<transactionId>");
 
             JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+            Console.WriteLine(result.GetProperty("applicationClaims")[0].GetProperty("digest").GetProperty("value").ToString());
+            Console.WriteLine(result.GetProperty("applicationClaims")[0].GetProperty("digest").GetProperty("protocol").ToString());
+            Console.WriteLine(result.GetProperty("applicationClaims")[0].GetProperty("kind").ToString());
+            Console.WriteLine(result.GetProperty("applicationClaims")[0].GetProperty("ledgerEntry").GetProperty("collectionId").ToString());
+            Console.WriteLine(result.GetProperty("applicationClaims")[0].GetProperty("ledgerEntry").GetProperty("contents").ToString());
+            Console.WriteLine(result.GetProperty("applicationClaims")[0].GetProperty("ledgerEntry").GetProperty("secretKey").ToString());
+            Console.WriteLine(result.GetProperty("applicationClaims")[0].GetProperty("ledgerEntry").GetProperty("protocol").ToString());
             Console.WriteLine(result.GetProperty("receipt").GetProperty("cert").ToString());
             Console.WriteLine(result.GetProperty("receipt").GetProperty("leaf").ToString());
             Console.WriteLine(result.GetProperty("receipt").GetProperty("leafComponents").GetProperty("claimsDigest").ToString());
@@ -346,8 +380,9 @@ public async Task Example_GetReceipt_AllParameters_Async()
         [Ignore("Only validating compilation of examples")]
         public void Example_GetTransactionStatus_ShortVersion()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             Response response = client.GetTransactionStatus("<transactionId>");
 
@@ -360,8 +395,9 @@ public void Example_GetTransactionStatus_ShortVersion()
         [Ignore("Only validating compilation of examples")]
         public async Task Example_GetTransactionStatus_ShortVersion_Async()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             Response response = await client.GetTransactionStatusAsync("<transactionId>");
 
@@ -374,8 +410,9 @@ public async Task Example_GetTransactionStatus_ShortVersion_Async()
         [Ignore("Only validating compilation of examples")]
         public void Example_GetTransactionStatus_AllParameters()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             Response response = client.GetTransactionStatus("<transactionId>");
 
@@ -388,8 +425,9 @@ public void Example_GetTransactionStatus_AllParameters()
         [Ignore("Only validating compilation of examples")]
         public async Task Example_GetTransactionStatus_AllParameters_Async()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             Response response = await client.GetTransactionStatusAsync("<transactionId>");
 
@@ -402,8 +440,9 @@ public async Task Example_GetTransactionStatus_AllParameters_Async()
         [Ignore("Only validating compilation of examples")]
         public void Example_GetCurrentLedgerEntry_ShortVersion()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             Response response = client.GetCurrentLedgerEntry();
 
@@ -415,8 +454,9 @@ public void Example_GetCurrentLedgerEntry_ShortVersion()
         [Ignore("Only validating compilation of examples")]
         public async Task Example_GetCurrentLedgerEntry_ShortVersion_Async()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             Response response = await client.GetCurrentLedgerEntryAsync();
 
@@ -428,8 +468,9 @@ public async Task Example_GetCurrentLedgerEntry_ShortVersion_Async()
         [Ignore("Only validating compilation of examples")]
         public void Example_GetCurrentLedgerEntry_AllParameters()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             Response response = client.GetCurrentLedgerEntry(collectionId: "<collectionId>");
 
@@ -443,8 +484,9 @@ public void Example_GetCurrentLedgerEntry_AllParameters()
         [Ignore("Only validating compilation of examples")]
         public async Task Example_GetCurrentLedgerEntry_AllParameters_Async()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             Response response = await client.GetCurrentLedgerEntryAsync(collectionId: "<collectionId>");
 
@@ -458,8 +500,9 @@ public async Task Example_GetCurrentLedgerEntry_AllParameters_Async()
         [Ignore("Only validating compilation of examples")]
         public void Example_DeleteUser_ShortVersion()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             Response response = client.DeleteUser("<userId>");
 
@@ -470,8 +513,9 @@ public void Example_DeleteUser_ShortVersion()
         [Ignore("Only validating compilation of examples")]
         public async Task Example_DeleteUser_ShortVersion_Async()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             Response response = await client.DeleteUserAsync("<userId>");
 
@@ -482,8 +526,9 @@ public async Task Example_DeleteUser_ShortVersion_Async()
         [Ignore("Only validating compilation of examples")]
         public void Example_DeleteUser_AllParameters()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             Response response = client.DeleteUser("<userId>");
 
@@ -494,8 +539,9 @@ public void Example_DeleteUser_AllParameters()
         [Ignore("Only validating compilation of examples")]
         public async Task Example_DeleteUser_AllParameters_Async()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             Response response = await client.DeleteUserAsync("<userId>");
 
@@ -506,8 +552,9 @@ public async Task Example_DeleteUser_AllParameters_Async()
         [Ignore("Only validating compilation of examples")]
         public void Example_GetUser_ShortVersion()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             Response response = client.GetUser("<userId>");
 
@@ -519,8 +566,9 @@ public void Example_GetUser_ShortVersion()
         [Ignore("Only validating compilation of examples")]
         public async Task Example_GetUser_ShortVersion_Async()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             Response response = await client.GetUserAsync("<userId>");
 
@@ -532,8 +580,9 @@ public async Task Example_GetUser_ShortVersion_Async()
         [Ignore("Only validating compilation of examples")]
         public void Example_GetUser_AllParameters()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             Response response = client.GetUser("<userId>");
 
@@ -546,8 +595,9 @@ public void Example_GetUser_AllParameters()
         [Ignore("Only validating compilation of examples")]
         public async Task Example_GetUser_AllParameters_Async()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             Response response = await client.GetUserAsync("<userId>");
 
@@ -560,8 +610,9 @@ public async Task Example_GetUser_AllParameters_Async()
         [Ignore("Only validating compilation of examples")]
         public void Example_CreateOrUpdateUser_ShortVersion()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             using RequestContent content = RequestContent.Create(new
             {
@@ -577,8 +628,9 @@ public void Example_CreateOrUpdateUser_ShortVersion()
         [Ignore("Only validating compilation of examples")]
         public async Task Example_CreateOrUpdateUser_ShortVersion_Async()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             using RequestContent content = RequestContent.Create(new
             {
@@ -594,8 +646,9 @@ public async Task Example_CreateOrUpdateUser_ShortVersion_Async()
         [Ignore("Only validating compilation of examples")]
         public void Example_CreateOrUpdateUser_AllParameters()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             using RequestContent content = RequestContent.Create(new
             {
@@ -612,8 +665,9 @@ public void Example_CreateOrUpdateUser_AllParameters()
         [Ignore("Only validating compilation of examples")]
         public async Task Example_CreateOrUpdateUser_AllParameters_Async()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             using RequestContent content = RequestContent.Create(new
             {
@@ -630,8 +684,9 @@ public async Task Example_CreateOrUpdateUser_AllParameters_Async()
         [Ignore("Only validating compilation of examples")]
         public void Example_GetConsortiumMembers_ShortVersion()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             foreach (BinaryData item in client.GetConsortiumMembers())
             {
@@ -645,8 +700,9 @@ public void Example_GetConsortiumMembers_ShortVersion()
         [Ignore("Only validating compilation of examples")]
         public async Task Example_GetConsortiumMembers_ShortVersion_Async()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             await foreach (BinaryData item in client.GetConsortiumMembersAsync())
             {
@@ -660,8 +716,9 @@ public async Task Example_GetConsortiumMembers_ShortVersion_Async()
         [Ignore("Only validating compilation of examples")]
         public void Example_GetConsortiumMembers_AllParameters()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             foreach (BinaryData item in client.GetConsortiumMembers())
             {
@@ -675,8 +732,9 @@ public void Example_GetConsortiumMembers_AllParameters()
         [Ignore("Only validating compilation of examples")]
         public async Task Example_GetConsortiumMembers_AllParameters_Async()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             await foreach (BinaryData item in client.GetConsortiumMembersAsync())
             {
@@ -690,8 +748,9 @@ public async Task Example_GetConsortiumMembers_AllParameters_Async()
         [Ignore("Only validating compilation of examples")]
         public void Example_GetCollections_ShortVersion()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             foreach (BinaryData item in client.GetCollections())
             {
@@ -704,8 +763,9 @@ public void Example_GetCollections_ShortVersion()
         [Ignore("Only validating compilation of examples")]
         public async Task Example_GetCollections_ShortVersion_Async()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             await foreach (BinaryData item in client.GetCollectionsAsync())
             {
@@ -718,8 +778,9 @@ public async Task Example_GetCollections_ShortVersion_Async()
         [Ignore("Only validating compilation of examples")]
         public void Example_GetCollections_AllParameters()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             foreach (BinaryData item in client.GetCollections())
             {
@@ -732,8 +793,9 @@ public void Example_GetCollections_AllParameters()
         [Ignore("Only validating compilation of examples")]
         public async Task Example_GetCollections_AllParameters_Async()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             await foreach (BinaryData item in client.GetCollectionsAsync())
             {
@@ -746,8 +808,9 @@ public async Task Example_GetCollections_AllParameters_Async()
         [Ignore("Only validating compilation of examples")]
         public void Example_GetLedgerEntries_ShortVersion()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             foreach (BinaryData item in client.GetLedgerEntries())
             {
@@ -760,8 +823,9 @@ public void Example_GetLedgerEntries_ShortVersion()
         [Ignore("Only validating compilation of examples")]
         public async Task Example_GetLedgerEntries_ShortVersion_Async()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             await foreach (BinaryData item in client.GetLedgerEntriesAsync())
             {
@@ -774,8 +838,9 @@ public async Task Example_GetLedgerEntries_ShortVersion_Async()
         [Ignore("Only validating compilation of examples")]
         public void Example_GetLedgerEntries_AllParameters()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             foreach (BinaryData item in client.GetLedgerEntries(collectionId: "<collectionId>", fromTransactionId: "<fromTransactionId>", toTransactionId: "<toTransactionId>"))
             {
@@ -790,8 +855,9 @@ public void Example_GetLedgerEntries_AllParameters()
         [Ignore("Only validating compilation of examples")]
         public async Task Example_GetLedgerEntries_AllParameters_Async()
         {
+            Uri endpoint = new Uri("<endpoint>");
             TokenCredential credential = new DefaultAzureCredential();
-            ConfidentialLedgerClient client = new ConfidentialLedgerClient(new Uri("http://localhost:3000"), credential);
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
 
             await foreach (BinaryData item in client.GetLedgerEntriesAsync(collectionId: "<collectionId>", fromTransactionId: "<fromTransactionId>", toTransactionId: "<toTransactionId>"))
             {
@@ -801,5 +867,67 @@ public async Task Example_GetLedgerEntries_AllParameters_Async()
                 Console.WriteLine(result.GetProperty("transactionId").ToString());
             }
         }
+
+        [Test]
+        [Ignore("Only validating compilation of examples")]
+        public void Example_GetUsers_ShortVersion()
+        {
+            Uri endpoint = new Uri("<endpoint>");
+            TokenCredential credential = new DefaultAzureCredential();
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
+
+            foreach (BinaryData item in client.GetUsers())
+            {
+                JsonElement result = JsonDocument.Parse(item.ToStream()).RootElement;
+                Console.WriteLine(result.GetProperty("assignedRole").ToString());
+            }
+        }
+
+        [Test]
+        [Ignore("Only validating compilation of examples")]
+        public async Task Example_GetUsers_ShortVersion_Async()
+        {
+            Uri endpoint = new Uri("<endpoint>");
+            TokenCredential credential = new DefaultAzureCredential();
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
+
+            await foreach (BinaryData item in client.GetUsersAsync())
+            {
+                JsonElement result = JsonDocument.Parse(item.ToStream()).RootElement;
+                Console.WriteLine(result.GetProperty("assignedRole").ToString());
+            }
+        }
+
+        [Test]
+        [Ignore("Only validating compilation of examples")]
+        public void Example_GetUsers_AllParameters()
+        {
+            Uri endpoint = new Uri("<endpoint>");
+            TokenCredential credential = new DefaultAzureCredential();
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
+
+            foreach (BinaryData item in client.GetUsers())
+            {
+                JsonElement result = JsonDocument.Parse(item.ToStream()).RootElement;
+                Console.WriteLine(result.GetProperty("assignedRole").ToString());
+                Console.WriteLine(result.GetProperty("userId").ToString());
+            }
+        }
+
+        [Test]
+        [Ignore("Only validating compilation of examples")]
+        public async Task Example_GetUsers_AllParameters_Async()
+        {
+            Uri endpoint = new Uri("<endpoint>");
+            TokenCredential credential = new DefaultAzureCredential();
+            ConfidentialLedgerClient client = new ConfidentialLedgerClient(endpoint, credential);
+
+            await foreach (BinaryData item in client.GetUsersAsync())
+            {
+                JsonElement result = JsonDocument.Parse(item.ToStream()).RootElement;
+                Console.WriteLine(result.GetProperty("assignedRole").ToString());
+                Console.WriteLine(result.GetProperty("userId").ToString());
+            }
+        }
     }
 }